$ name=tom
$ grep "$name" /etc/passwd
tom:82KX2F:5102:40:Tom Savage:/home/tom:/bin/ksh
$echo $?
0 success!
$test $name != tom
echo $?
1 failure
$ [ $name = tom ]
echo $?
0 success
$[ $name = [Tt]?m ]
echo $?
1 failure
test命令可用于计算字符串何数字,也可用来执行文件测试。和所有命令一样,test也会返回一个退出状态,退出状态为0,则表达式为真,退出状态为1,则表达式为假。表达式的等号两侧必须有空间。这条命令测试name的值是否等于tom
方括号是test命令的另外一种表达方式。第一个方括号后面必修跟空格,这一行测试$tome的值是否为字符串tom
test命令不允许张开通配符,问号被当作一个普通字符,因此失败。