变量
环境变量 | 说明 |
---|---|
$HOME | 当前用户的home目录 |
$PATH | 以冒号分割的用来搜索命令的目录列表 |
$PS1 | 命令提示符,例如:[\u@\h \w]$ ,给出用户名 机器名和当前目录名 后面跟一个$ 提示符号 |
$PS2 | 二级提示符,用来提示后续的输入,通常是> 字符 |
$IFS | 输入域分割符。当shell读取输入时,它给出用来分隔单词的一组字符,它们通常是空格 制表符和换行符 |
$0 | shell脚步的名字 |
$# | 传递给脚本的参数个数 |
$$ | 执行当前shell脚本的进程号 |
参数变量 | 说明 |
---|---|
$1,$2, ... | 脚本程序的参数 |
$* | 在一个变量中列出所有的参数,各个参数之间用环境变量IFS中的第一个字符分隔开 |
$@ | 它是$*的一种精巧变体,使用空格分隔各个参数 |
当函数被调用时,脚本程序的位置参数($* $@ $# $1 $2
等)会被替换为函数的参数
条件比较
字符串比较 | 说明 |
---|---|
string1 = string2 | 如果量个字符串相同则结果为真 |
string1 != string2 | 如果量个字符串不同则结果为真 |
-n string | 如果字符串不为空则结果为真 |
-z string | 如果字符串为空则结果为真 |
算数比较 | 说明 |
---|---|
expression1 -eq expression2 | True if the expressions are equal |
expression1 -ne expression2 | True if the expressions are not equal |
expression1 -gt expression2 | True if expression1 is greater than expression2 |
expression1 -ge expression2 | True if expression1 is greater than or equal to expression2 |
expression1 -lt expression2 | True if expression1 is less than expression2 |
expression1 -le expression2 | True if expression1 is less than or equal to expression2 |
文件条件测试 | 说明 |
---|---|
-d file | True if the file is a directory |
-e file | True if the file exists. Note that historically the -e option has not been portable, so -f is usually used. |
-f file | True if the file is a regular file |
-g file | True if set-group-id is set on file |
-r file | True if the file is readable |
-s file | True if the file has nonzero size |
-u file | True if set-user-id is set on file |
-w file | True if the file is writable |
-x file | True if the file is executable |