·#./example.sh one two three
Shell脚本语言内设了用于接收用户参数的变量,基于上述命令,常用的变量如下:
注: 所以测试语句的语法格式都是: [ 条件表达式 ] ,条件表达式前后各有一个空格,且条件表达式中的操作数与运算符之间也必须有空格!!!
<br />
| 运算符 | 作用 |
|---|---|
| -d | 测试文件是否为目录类型 |
| -e | 测试文件是否存在 |
| -f | 判断是否为一般文件 |
| -r | 测试当前用户是否有权限读取 |
| -w | 测试当前用户是否有权限写入 |
| -x | 测试当前用户是否有权限执行 |
eg. #[ -d /etc/fstab ]
<br />
| 运算符 | 作用 |
|---|---|
| && | 与运算符,左边为True才计算右边 |
| || | 或运算符,左边为False才计算右边 |
| ! | 非运算符,真假取反 |
eg. #[ -e /dev/cdrom ] && echo "Exist"
<br />
| 运算符 | 作用 |
|---|---|
| -eq | 是否等于 |
| -ne | 是否不等于 |
| -gt | 是否大于 |
| -lt | 是否小于 |
| -le | 是否小于或等于 |
| -ge | 是否大于或等于 |
eg. #[ 10 -ge 10 ]
<br />
| 运算符 | 作用 |
|---|---|
| = | 比较字符串内容是否相同 |
| != | 比较字符串内容是否不同 |
| -z | 判断字符串内容是否为空,或未定义 |
eg. #[ -z $String ]
<br />
单分支
if 条件测试操作; then
命令序列
fi
双分支
if 条件测试操作; then
命令序列
else
命令序列
fi
多分支
if 条件测试操作; then
命令序列
elif 条件测试操作; then
命令序列
else
命令序列
fi
<br />
for 变量名 in 取值列表
do
命令序列
done
<br />
while 条件测试操作
do
命令序列
done
<br />
case 变量值 in
模式1)
命令序列
;;
模式2)
命令序列
;;
......
*)
默认命令序列
esac原文:http://blog.51cto.com/taoismli/2071621