shell环境

Posted 生成风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell环境相关的知识,希望对你有一定的参考价值。

  在Unix式的操作系统中有一个最重要的特性就是命令行界面或shell。shell环境使得用户能与操作系统的核心功能进行交互。术语脚本更多涉及的便是这种环境。编写脚本通常使用某种基于解释器的编程语言。而shell脚本不过就是一些文件,我们能将一系列需要执行的命令写入其中,然后通过shell来执行。目前大多数GUN/Linux系统默认的shell环境是bash。在linux系统中,命令都是在shell终端中输入并执行的。打开终端后就会出现提示符:

[[email protected] ~]#

1.其中的root是用户名;

2.#代表管理员用户root,$代表普通用户;

 

shell脚本通常是一个以shebang起始的文本文件,如:

#!/bin/bash     其中#!位于解释器路径之前。/bin/bash是Bash的解释器命令路径。

有两种运行脚本的命令:

(1)将脚本作为bash的命令行参数,即:bash 文件名

(2)赋予脚本可执行的权限,然后再执行:chmod +x 文件名     文件路径/文件名

 

终端打印命名:echo和printf

echo是用于终端打印的基本命令,并且默认执行后会换行。

echo "hello world"  echo ‘hello world‘  echo hello world这三种形式都可以成功地输出结果,但是各有细微的差别

[[email protected] ~]# echo hello world
hello world
[[email protected] ~]# echo "hello world"
hello world
[[email protected] ~]# echo ‘hello world‘
hello world

  如果想要打印 ! ,就不能把 ! 放在双引号里,可以在前面加转义字符\或者直接输出

[[email protected] ~]# echo !
!
[[email protected] ~]# echo \!
!
[[email protected] ~]# echo "!"
bash: !: event not found
[[email protected] ~]# echo ‘\!‘
\!

  如果在输出的语句中带有;,就不能直接输出

[[email protected] ~]# echo "hello;world"
hello;world
[[email protected] ~]# echo ‘hello;world‘
hello;world
[[email protected] ~]# echo hello;world
hello
bash: world: command not found

  printf语句默认执行后不换行,在不带引号输出的时候,不能直接输出带有空格的语句

[[email protected] ~]# printf "hello world"
hello world[[email protected] ~]# printf hello world
hello[[email protected] ~]# printf helloworld
helloworld[[email protected] ~]# printf ‘hello world‘
hello world[[email protected] ~]# printf hello   world
hello

  printf还可以定义输出格式

[[email protected] ~]# printf ‘%-5s %-10s\n‘ 123 456
123   456       
[[email protected] ~]# printf "%-5s %-10s\n" 123 456
123   456       

  

 

以上是关于shell环境的主要内容,如果未能解决你的问题,请参考以下文章

Bash的变量类型

用于确保在任何给定时间仅运行一个 shell 脚本的 shell 片段 [重复]

shell 脚本 片段

vue2.0 代码功能片段

nodejs常用代码片段

sh shell片段