shell编程中的比较与test测试

很多时候,我总是会忘记一些Shell上的比较与测试,下面是我重新复习的关于test比较与测试

基本语法:

test  表达式




[ 表达式 ] (“[”后以及“]”之前要有空格)


例如:test 1 -gt 2 测试1是否大于2。test通常与if、while、until等语句一起使用。

表达式有以下类型:

测试文件属性
-b file:如果文件 存在且为块设备(Block special),则值为真;
-c file:如果文件存在且为字符设备(Character special),则值为真;
-r file:如果文件存在且为只读,则值为真;
-w file:如果文件存在且可写入,则值为真;
-x file:如果文件存在且可执行,则值为真;
-s file:如果文件存在且长度大于零,则值为真;
-d file:如果文件是一个目录,则值为真;
-f file:如果文件是一个普通文件,则值为真;
-e file:如果文件存在,则值为真。

测试数值
n1 -eq n2:n1等于n2,则值为真;
n1 -ne n2:n1不等于n2,则值为真;
n1 -gt n2:n1大于n2,则值为真;
n1 -lt n2:n1小于n2,则值为真;
n1 -ge n2:n1大于等于n2,则值为真;
n1 -le n2:n1小于等于n2,则值为真;

测试字符串
-z s1:如果s1长度为零,则值为真;
-n s1:如果s1长度不为零,则值为真;
s1 = s2:如果s1与s2相等,则值为真;
s1 != s2:如果s1与s2不等,则值为真;
s1:如果s1不是空串,则值为真;

测试逻辑运算符
-a:二元“与”操作符。例:if test $x -gt $y -a $y -gt $z。
-o:二元“或”操作符。
!:一元“非”操作符。例:if test ! $x -eq $y。

shell 编程一定要多用,才会熟。

你可能感兴趣的:(test,测试,shell编程)