Shell test 命令
Shell 中的 test 命令用于检查某个条件是否成立,它可以进行数值、字元和档案三个方面的测试。
数值测试
引数
说明
-eq
等於则为真
-ne
不等於则为真
-gt
大於则为真
-ge
大于等於则为真
-lt
小於则为真
-le
小于等於则为真
例项演示:
num1=100
num2=100
if test $[num1] -eq $[num2]
then
echo ‘ 两个数相等!’
else
echo ‘ 两个数不相等!’
fi
输出结果:
两个数相等!
字串测试
引数
说明
=
等於则为真
!=
不相等则为真
-z 字串
字串的长度为零则为真
-n 字串
字串的长度不为零则为真
例项演示:
num1=”ru1noob”
num2=”runoob”
if test $num1 = $num2
then
echo ‘ 两个字串相等!’
else
echo ‘ 两个字串不相等!’
fi
输出结果:
两个字串不相等!
档案测试
引数
说明
-e 档名
如果档案存在则为真
-r 档名
如果档案存在且可读则为真
-w 档名
如果档案存在且可写则为真
-x 档名
如果档案存在且可执行则为真
-s 档名
如果档案存在且至少有一个字元则为真
-d 档名
如果档案存在且为目录则为真
-f 档名
如果档案存在且为普通档案则为真
-c 档名
如果档案存在且为字元型特殊档案则为真
-b 档名
如果档案存在且为块特殊档案则为真
例项演示:
cd /bin
if test -e ./bash
then
echo ‘ 档案已存在!’
else
echo ‘ 档案不存在!’
fi
输出结果:
档案已存在!
另外,Shell 还提供了与 ( -a ) 、或 ( -o ) 、非 ( ! ) 三个逻辑操作符用于将测试条件连线起来,其优先顺序为:”!” 最高,”-a” 次之,”-o” 最低。例如:
cd /bin
if test -e ./notFile -o -e ./bash
then
echo ‘ 有一个档案存在!’
else
echo ‘ 两个档案都不存在’
fi
输出结果:
有一个档案存在!
原文连结:http://www.runoob.com/linux/linux-shell-test.html