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