test命令的用法

test命令可用于:
文件属性的测试
字符串测试
算数测试
test命令语法如下所示:
test EXPRESSION
或者[EXPRESSION]

示例:
# test -d "$HOME"; echo $?
0
#["abc" != "def"]; echo $?
0
文件属性测试操作参考表(test)
操作符 描述

-e<file>  如果<file>存在则为真
 -f<file> 如果<file>存在且是一个常规文件则为真
 -d<file>  如果<file>存在且是一个目录则为真
 -c<file>  如果<file>存在且是一个特殊字符文件则为真
 -b<file> 如果<file>存在且是一特殊块文件则为真
 -p<file>  如果<file>存在且是一个命名管道则为真
 -S <file> 如果<file>存在且是一个套接字文件则为真 
 -L <file> 如果<file>存在且是一个符号链接则为真(与-h相同)
 -h <file> 如果<file>存在且是一个符号链接则为真(与-L相同) 
 -g <file>  如果<file>存在且是设置了sgid位则为真
 -u <file>  如果<file>存在且是设置了suid位则为真
 -r <file>  如果<file>存在且是可读的则为真
 -w <file>   如果<file>存在且是可写的则为真
 -x <file>  如果<file>存在且是可执行的则为真
 -s <file>   如果<file>存在且是不为空的则为真
 -t <file>   如果文件描述符<fd>已打开且引用了一个终端则为真
 <file1>-nt <file2>  如果<file1>比 <file>新则为真(指mtime)
 <file1>-ot<file2>   如果 <file> 比<file>旧则为真(指mtime)
 <file2>-ef<file1>  如果<file1>有硬连接到<file2>则为真
   


实例1、检查命令文件是否存在,如果存在则打印找到此文件,否则打印没找到此文件。
# test -e /bin/cp && echo "The command $_ found."||echo "The command $_not found."
The command /bin/co found.
PS:上述语句中的"$_"表示前一个执行的命令中的最后一个参数。

 

原文地址:https://www.cnblogs.com/yuanshaoqian/p/6033252.html