星外飞客

-b FileName 如果所指定的 FileName 存在且是一个块特殊文件,则返回一个 true 退出值。
-c FileName 如果所指定的 FileName 存在且是一个字符特殊文件,则返回一个 true 退出值。
-d FileName 如果所指定的 FileName 存在且是一个目录,则返回一个 true 退出值。
-e FileName 如果所指定的 FileName 存在,则返回一个 true 退出值。
-f FileName 如果所指定的 FileName 存在且是一个常规文件,则返回一个 true 退出值。
-g FileName 如果所指定的 FileName 存在且它的设置组标识位已设置,则返回一个 true 退出值。
-h FileName 如果所指定的 FileName 存在且是一个符号链接,则返回一个 true 退出值。
-k FileName 如果所指定的 FileName 存在且其粘滞位已设置,则返回一个 true 退出值。
-L FileName 如果所指定的 FileName 存在且是一个符号链接,则返回一个 true 退出值。
-n String1 如果 String1 变量的长度为非零,则返回一个 true 退出值。
-p FileName 如果所指定的 FileName 存在且是一个命名管道(FifO),则返回一个 true 退出值。
-r FileName 如果所指定的 FileName 存在且可被当前进程读取,则返回一个 true 退出值。
-s FileName 如果所指定的 FileName 存在且长度大于零,则返回一个 true 退出值。
-t FileDescriptor 如果文件描述符号为 FileDescriptor 的文件是打开的且与一个终端相连,则返回一个 true 退出值。
-u FileName 如果所指定的 FileName 存在且它的设置用户标识位已被设置,则返回一个 true 退出值。
-w FileName 如果所指定的 FileName 存在且写标志打开,则返回一个 true 退出值。 但是,FileName 在一个只读的文件系统中不可写,即使 test 指示为 true。
-x FileName 如果所指定的FileName 存在且执行标志打开,则返回一个 true 退出值。如果所指定的文件存在且是一个目录,true 退出值表示当前进程被允许在目录中搜索。
-z String1 如果 String1 变量的长度为 0(零),则返回一个 true 退出值。
String1= String2 如果 String1 与 String2 的变量相同,则返回一个 true 退出值。
String1!=String2 如果 String1 与 String2 的变量不相同,则返回一个 true 退出值。
String1 如果 String1 变量不是一个空字符串,则返回一个 true 退出值。
Integer1 -eq Integer2 如果Integer1 与 Integer2 的变量在数学上相等,则返回一个 true 退出值。任一比较 -ne, -gt, -ge, -lt, -le 可被用来代替 -eq。
file1 -nt file2 如果 file1 比 file2 更新,则为 true。
file1 -ot file2 如果file1 比 file2 旧,则为 true。
file1 -ef file2 如果 file1 是 file2 的另外一个名称,则为 true。

这些函数可与下列运算符连在一起:

! 一元“非”运算符
-a 二进制“与”运算符
-o 二进制“或”运算符(就是说, -a 运算符的优先权比 -o 运算符高)
\(Expression\) 分组括号

退出状态
命令返回值意义:

0 Expression 参数为 true。
1 Expression 参数为 false 或丢失。
>1 发生错误。

 
 

版权所有,转载请注明出处。
转载自 <a href="http://www.yanghengfei.com/archives/498/" title="shell if 测试参数汇总" rel="bookmark">shell if 测试参数汇总 | 星外飞客 </a>

我简单说几句

随机推荐

最新评论

无觅相关文章插件,快速提升流量