shell中的test命令如何使用
在shell中,test命令用于测试文件或表达式是否是为真。它的一般语法以下:
test expression还是可使用方括号表示:
[ expression ]expression是一个用于测试的表达式,可以是以下几种类型之一:
-e file:检查文件是否是存在-f file:检查文件是否是存在且为普通文件-d file:检查文件是否是存在且为目录-r file:检查文件是否是存在且可读-w file:检查文件是否是存在且可写-x file:检查文件是否是存在且可履行-s file:检查文件是否是存在且非空-h file:检查文件是否是存在且为符号链接-L file:检查文件是否是存在且为符号链接(与-h相同)-c file:检查文件是否是存在且为字符装备文件-b file:检查文件是否是存在且为块装备文件-p file:检查文件是否是存在且为命名管道-S file:检查文件是否是存在且为套接字文件-z string:检查字符串是否是为空-n string:检查字符串是否是非空string1 = string2:检查两个字符串是否是相等string1 != string2:检查两个字符串是否是不相等num1 -eq num2:检查两个数是否是相等num1 -ne num2:检查两个数是否是不相等num1 -lt num2:检查num1是否是小于num2num1 -le num2:检查num1是否是小于等于num2num1 -gt num2:检查num1是否是大于num2num1 -ge num2:检查num1是否是大于等于num2在使用test命令时,如果表达式为真,则返回0;如果表达式为假,则返回1。可使用$?变量获得上一个命令的返回值。
例如,使用test命令检查文件是否是存在:
if test -e file.txt; then
echo "文件存在"
else
echo "文件不存在"
fi还是使用方括号表示:
if [ -e file.txt ]; then
echo "文件存在"
else
echo "文件不存在"
fi
TOP