shell之条件测试

1、test一般有两种格式,即: test condition 或 [ condition ] 使用方括号时,要注意在条件两边加上空格。 测试文件状态是否为O K,但是有时要比较两个文件状态。s h e l l提供三种逻辑操作完成此 功能。 -a 逻辑与,操作符两边均为真,结果为真,否则为假。 -o 逻辑或,操作符两边一边为真,结果为真,否则为假。 ! 逻辑否,条件为假,结果为真。

2、字符串测试是错误捕获很重要的一部分,特别在测试用户输入或比较变量时尤为重要。 字符串测试有5种格式。

test “string” test string_operator “string” test “string” string_operator “string” [ string_operator string ] [ string string_operator string ] 其中:string_operator可为: = 两个字符串相等。 != 两个字符串不等。 -z 空串。 -n 非空串。

3、测试数值可以使用许多操作符,一般格式如下: "number " number_operator" number " 或者 [ " number " number_operator " number " ]

number_operator可为: -eq 数值相等。 -ne 数值不相等。 -gt 第一个数大于第二个数。 -lt 第一个数小于第二个数。 -le 第一个数小于等于第二个数。 -ge 第一个数大于等于第二个数。

4、 expr用法,其一般用于整数值,但也可用于字符串。

下面加或没有加空格之间的区别:

root@ubuntu:~# expr 10+10

10+10

root@ubuntu:~# expr 10 + 10

20

在使用乘法的时候,需要使用/来屏蔽其特定的含义

不同的操作系统可能不同,如我在redhat9上:

[root@USC_28_18 xinbo]# expr 10 * 3

expr: syntax error

[root@USC_28_18 xinbo]# expr 10 /* 3

30

我在ubuntu10.4上:

root@ubuntu:~# expr 30 * 3

90

这样也是可行的。

不过最好还是加上/,为了兼容性。

其常用来增量计算。

root@ubuntu:~# LOOP=0 root@ubuntu:~# LOOP=`expr $LOOP + 1`

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值