一条 if 语句的结束标记是 fi。可以使用 elif 关键字和多个 if 语句串起来。这个关键字表示“else if”。例如:
if [ $base -eq 1 ] && [ $dm -eq 1 ] ; then
installDMBase
elif [ $base -ne 1 ] && [ $dm -eq 1 ]; then
installBase
elif [ $base -eq 1 ] && [ $dm -ne 1]; then
installBase
else
echo '==> Installing nothing'
fi
sh
的数值和字符比较运算符。sh 使用文字运算符(text operator)进行数值比较,使用符号运算符(symbolic operator)进行字符比较。
字符串 |
数值 |
为真的条件 |
x=y |
x -eq y |
x 等于 y |
x!=y |
x -ne y |
x 不等于 y |
x<y |
x -lt y |
x 小于 y |
n/a |
x -le y |
x 小于或等于 y |
x>y |
x -gt y |
x 大于 y |
n/a |
x -ge y |
x 大于或等于 y |
-n x |
n/a |
x 不为空 |
-z |
n/a |
x 为空 |
sh
的众多文件测试与文件比较操作符
操作符 |
为真的条件 |
-d file |
file 存在且为目录 |
-e file |
file 存在 |
-f file |
file 存在且为普通文件 |
-r file |
用户对 file 有读权限 |
-s file |
file 存在且不为空 |
-w file |
用户对 file 有写权限 |
file1 -nt file2 |
file1 比 file2 新 |
file1 -ot file |
file1 比 file2 旧 |
网友评论