<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script>
|
Linux脚本 测试条件
Bash 提供了一个 test 函数,它测试一个表达式的值等于true 还是false .它的语法如下:
test expression
也可以如下表达:
[ expression ]
Shell 提供以下参数:
- -b file = True 文件存在并且是块文件.
- -c file = True文件存在并且是字符文件.
- -d file = True文件存在并且是目录文件.
- -e file = True文件存在.
- -f file = True文件存在并且是普通文件
- -g file = True 文件存在并且组id位被设置.
- -k file = True 如果文件的 "sticky" 位被设置.
- -L file = True文件存在并且是符号连接文件.
- -p file = True 文件存在并且是命名管道.
- -r file = True 文件存在并且是可读文件.
- -s file = True 文件存在并且文件尺寸大于0.
- -s file = True 文件存在并且是一个套接字.
- -t fd = True 文件的描述符在一个终端被打开.
- -u file = True文件存在并且用户id位被设置.
- -w file = True文件存在并且可写入得.
- -x file = True文件存在并且是可执行的.
- -O file = True文件存在并且拥有者是此用户.
- -G file = True文件存在并且拥有者是此用户组.
- file1 –nt file2 = True 如果 file1 的编辑时间比file2新.
- file1 ot file2 = True 如果file1比file2旧.
- file1 ef file2 = True 如果 file1 和 file2 由相同的设备和inode 标号.
- -z string = True 如果string 长度= 0.
- -n string = True 如果string 长度不等于0.
- string1 = string2 = True 如果两个字符串相同.
- string1 != string2 = True 如果字符串不相同.
- !expr = True 如果此表达式的值为false.
- expr1 –a expr2 = True 如果两个表达式都是true.
- expr1 –o expr2 = True 如果至少有一个为true.
语法是 :
arg1 OP arg2
|
|
在这里 OP 是 –eq, -ne, -lt, -le, -gt, or –ge其中的一个. Arg1 和 arg2 正负整数值或者是特定的表达式 "-l string" 它计算出 string的长度.