test命令来自于英文单词“测试”,其功能是用于检查条件是否成立,能够对数值、字符和文件进行条件测试。Linux系统中的Shell脚本程序常用到此命令,与if条件控制语句搭配结合使用效果更好,这样只有当某个指定条件成立时才会执行后续代码,大大的提高了程序的灵活性和安全性,而不是不论条件是否满足都一股脑的跑完全部代码。

语法格式:test [表达式]

常用参数:

-eq (=)等于则为真
-ne (!=)不等于则为真
-gt (>)大于则为真
-ge (>=)大于等于则为真
-lt (<)小于则为真
-le (<=)小于等于则为真

参考实例

判断两个数值是否相等:

[root@linuxcool ~]# cat linuxcool.sh
num1=100 
num2=100 
if test $[num1] -eq $[num2] then     
echo '两个数相等!' 
else     
echo '两个数不相等!' 
fi 

判断两个字符串是否相同:

[root@linuxcool ~]# cat linuxcool.sh
str1="LinuxPROBE" 
str2="LinuxCOOL" 
if test str1=ste2 then     
echo '两个字符串相同!' 
else     
echo '两个字符串不相同!' 
fi 

判断文件是否存在:

[root@linuxcool ~]# cat linuxcool.sh
if test -e /bin/bash then     
echo '文件已存在!' else     
echo '文件不存在!' 
fi 
Author

这篇优质的内容由TA贡献而来

刘遄

《Linux就该这么学》书籍作者,RHCA认证架构师,教育学(计算机专业硕士)。