①判断表达式(and, or)
test表达式1 -a表达式2(两个表达式都为真)
test表达式1 -a表达式2(两个表达式有一个为真)
②判断字符串
test -n 字符串 字符串的长度非零
test -z 字符串 字符串长度为零
test == 字符串 字符串相等
test != 字符串 字符串不相等
例如:
a = “abc”
test $a == “abc” echo $? (0)
test $a == “afd” echo $? (1)
③判断整数
test 整数1 -eq整数2 整数相等
-ge 表示大于等于;
-gt 表示大于;
-le 表示小于等于;
-lt 表示小于;
-ne 表示不等于。
④判断文件
test File1 -ef File2 两个文件具有同样的设备号和i节点号
test File1 -nt File2 文件1比文件2新
test File1 -ot File2 文件1比文件2旧
test -b File 文件存在并且是块设备文件
test -c File 文件存在并且是字符设备文件
test -d File 文件存在并且是目录
test -e File 文件存在
test -f File 文件存在并且是普通文件
test -g File 文件存在并且设置了组ID
test -G File 文件存在并且属于有效组ID
test -h File 文件存在并且是一个字符链接(同 “-L”)
test -k File 文件存在并且设置了sticky位
test -L File 文件存在并且是一个符号链接(同 “-h”)
test -o File 文件存在并且属于有效用户ID
test -p File 文件存在并且是一个命名管道
test -r File 文件存在并且可读
test -s File 文件存在并且是一个套接字
test -t File 文件描述符是在一个终端打开的
test -u File 文件存在并且设置了它的set -user -id位
test -w File 文件存在并且可写
test -x File 文件存在并且可执行
示例:
a=2
test $a -ge 3
echo $?