评估条件表达式。
test Expression
或
[ Expression ]
test 命令评估 Expression 参数, 如果表达式值为 True, 返回一个零(true)退出值。否则, test 命令返回一个非零(false)退出值。 如果没有参数,test 命令也返回一个非零退出值。
注:
函数与运算符被 test 命令当作独立的参数。Expression 参数指的是一个需要被检查为 true 或 false 的条件的语句。下列函数可用来构造此参数:
这些函数可与下列运算符连在一起:
! | 一元“非”运算符 |
-a | 二进制“与”运算符 |
-o | 二进制“或”运算符(就是说, -a 运算符的优先权比 -o 运算符高) |
\(Expression\) | 分组括号 |
命令返回以下退出值:
0 | Expression 参数为 true。 |
1 | Expression 参数为 false 或丢失。 |
>1 | 发生错误。 |
if test ! -s "$1" then echo $1 does not exist or is empty. fi
如果被第一个位置的参数指定给 shell 过程的文件, $1, 不存在, test 命令显示一条出错消息。如果 $1 存在且大小大于 0,test 命令什么也不显示。
注:在 -s 函数与文件名之间必须有一空格。
$1 两边的引号确保即使值 $1 为一空字符串, test 也可正常工作。如果引号被省略且 $1 是空字符串,test 命令显示出错消息 test:期望参数。
if [ $# -lt 2 -o ! -e "$1" ] then exit fi
如果给出的 shell 过程少于两个位置参数或被 $1 指定的文件不存在, 则 shell 过程退出。特殊 shell 变量 $# 表示了在命令行输入的用以运行 shell 过程的位置参数的个数。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『shell 概述』, 总体上描述了 shell,定义了对理解 shell 有帮助的术语,描述了很多有用的 shell 功能。
/usr/bin/test | 包含 test 命令。 |
bsh 命令,csh 命令,find 命令,ksh 命令,sh 命令。
《AIX 5L V5.2 系统用户指南:操作系统与设备》中的『shell 概述』。