shell 条件测试

1.

t e s t一般有两种格式,即:
test condition

[ c o n d i t i o n ]
使用方括号时,要注意在条件两边加上空格。

2.文件测试

-d 目录    -s文件长度大于0、非空   -f正规文件   -w可写   -L符号连接  -u文件有s u i d位设置  -r可读  -x可执行

3.逻辑操作符

-a 逻辑与,操作符两边均为真,结果为真,否则为假。
-o 逻辑或,操作符两边一边为真,结果为真,否则为假。
! 逻辑否,条件为假,结果为真。

4.字符串测试

(1)test “str”  (2)test str_opt “str”  (3)test “str1” str_opt “str2”  (4)[ str_opt str ]  (5)[ str1 str_opt str2 ]

str_opt 为:= (两个字符串相等)  !=( 两个字符串不等)  -z( 空串)  -n( 非空串)

5.测试数值

"num1"  num_opt "num2"  或者 [ "num1"  num_opt "num2" ]

num_opt 为:

(1)-eq 数值相等         (2)-ne 数值不相等          (3)-gt 第一个数大于第二个数

(4)-lt 第一个数小于第二个数   (5)-le 第一个数小于等于第二个数  (6)-ge 第一个数大于等于第二个数

[ 123 -eq 1234 ] 或者 [ “123” -eq “1234” ]

6.expr用法

expr命令一般用于整数值,但也可用于字符串。

expr argument operator argument

expr 10 + 20 注意之间的空格!如果没有一个空格,就会被当成字符串!

使用乘号时,必须用反斜线屏蔽其特定含义。expr 10 \* 3

另外:数值测试:可以用e x p r测试一个数

模式匹配:expr也有模式匹配功能。可以使用e x p r通过指定冒号选项计算字符串中字符数。. *意即任何字符重复0次或多次。

posted @ 2012-04-05 22:11  望月追忆  阅读(218)  评论(0编辑  收藏  举报