; 命令分隔符,命令分隔符的作用是允许在一行内有两个或者更多个命令
;; 双分号代表case语句的结束符号
. 圆点等同于source命令,导入另外一个文件的命令(当 . 作为一个文件名的前缀的时候,作用是隐藏该文件,用ls是查看不到的,比如vi生成的中间文件,除非加-a)
:一般代表空操作,空语句,可以用作占位符.也可以认为他是true,shell中真用数字0表示
: > $fileName 把一个文件清空,如果没有就创建一个 cat /dev/null >$fileName 也可做到 而且比较少耗资源
: >> $file 如果file存在则什么也没有发生,如果file不存在,则创建它
星号(*)表示乘法运算符。两个星号(**)表示求幂运算符。
测试操作符.在一些表达式中,问号(?)表示一个条件测试.
在双括号结构里,问号(?)表示C风格的三元操作符.请参考例子 9-30.
在参数替换表达式里,问号(?)测试一个变量是否被设置了值.
$*, $@
位置参数.
$?
保存退出码值的变量. 变量$?保存了一个命令,一个函数,或一个脚本的退出状态码的值。
$$
进程ID变量. 变量$$保存了脚本运行时的进程ID值
()将一组命令放在小括号里面,代表新起一个进程,二里面的变量将不能被父进程访问
scriptname >filename重定向scriptname的输出到文件filename中去. 如果文件filename存在则将会被覆盖.
command &>filename 会重定向命令command标准输出(stdout)和标准错误(stderr)到文件filename中.
command >&2 把命令command的标准输出(stdout)重定向到标准错误(stderr).
scriptname >>filename appends把脚本scriptname的输出追加到文件filename.如果filename不存在,则它会被创建.