位置变量
运算符 | 说明 |
---|---|
$0 | 与键入的命令行一样,包含脚本文件名 |
$1,$2,…$9 | 分别包含第一个到第九个命令行参数 |
$# | 包含命令行参数的个数 |
$@ | 包含所有命令行参数:“$1,$2,…$9” |
$? | 包含前一个命令的退出状态 |
$* | 包含所有命令行参数:“$1,$2,…$9” |
$$ | 包含正在执行进程的ID号 |
字符串
运算符 | 说明 | 举例 |
---|---|---|
= | 判断两个字符串的内容是否完全一致,想等返回true | [ $s1 = $s2 ] |
!= | 判断两个字符串的内容是否有差异,不相等返回true | [ $s1 != $s2 ] |
-z | 判断s1字符串的长度是否为0,为0返回true | [ -z $s1 ] |
-n | 判断s1字符串的长度是否不为0,不为0返回true | [ -n $s1 ] |
-a | 判断两边是否同时成立,同and,成立返回true | [$s1 -a $s2] |
-o | 判断两边是否分别成立,同or,成立返回true | [$s1 -o $s2] |
$ | 判断字符串是否不为空,不为空返回 true。 | [$s1] |
整数
运算符 | 说明 |
---|---|
a -eq b | 测试a与b是否相等 |
a -ne b | 测试a与b是否不相等 |
a -gt b | 测试a是否大于b |
a -ge b | 测试a是否大于等于b |
a -lt b | 测试a是否小于b |
a -le b | 测试a是否小于等于b |
文件
运算符 | 说明 |
---|---|
-b name | 测试name是否为一个块设备文件 |
-c name | 测试name是否为字符设备文件 |
-d name | 测试name是否为一个目录 |
-e name | 测试一个文件是否存在 |
-f name | 测试name是否为普通文件 |
-L name | 测试name是否为符号链接 |
-r name | 测试name文件是否存在且为可读 |
-w name | 测试name文件是否存在且为可写 |
-x name | 测试name文件是否存在且为可执行 |
-s name | 测试name文件是否存在且其长度不为0 |
f1 -nt f2 | 测试文件f1是否比文件f2更新 |
f1 -ot f2 | 测试文件f1是否比文件f2更旧 |