linux shell编程3 - 条件测试

1. 基本语法
test condition

[ condition ]
使用括号方式时,条件与括号之间要加空格。


2. 字符串测试
字符串测试是条件判断中最重要的部分,
例:测试两个字符是否相等。退出状态变量 $?,0表示成功,1表示失败。
if 命令就是使用该值做判断。
[root@localhost ~]# [ "aa" = "bb" ]
[root@localhost ~]# echo $?
1
if [ -x scores.txt ]; then echo 11111; fi; 
字符串测试可以使用以下条件表达式:
=  两字符串相等。
!= 两字符串不等。
-z 空串。
-n 非空串。


3. 测试文件状态
例:测试文件 scores.txe 是否可执行。
[root@localhost ~]# [ -x scores.txt ]
[root@localhost ~]# echo $?
1
条件测试可以使用以下条件表达式:
-d 目录
-f 文本文件
-L 符号链接
-s 文件非空
-r 可读
-w 可写
-x 可执行
-u 文件有suid位设置


4. 数字测试
例:测试第一个数字小于第二个数字。
[root@localhost ~]# [ "10" -lt "99" ]
[root@localhost ~]# echo $?
0
数字测试可以使用以下条件表达式:
-eq 相等。
-ne 不等
-gt 大于。
-ge 大于或等于。
-lt 小于。
-le 小于或等于。


4. expr数字运算
加法运算:expr 10 + 10
减法运算:expr 20 - 10
加法运算:expr 10 / 5
乘法运算:expr 10 \* 5
如果是非数字参加运算会报错误,利用吃点可以用来测试数字格式。
[root@localhost opt]# if expr a + 100; then echo aaaa; else echo bbbb; fi;
expr: non-numeric argument
bbbb


5. 两个以上的条件之间的逻辑关系
[root@localhost opt]# [ -w results.txt -a -w scores.txt ]
[root@localhost opt]# echo $?
0
-a 逻辑与,两个条件同时为0,结果为0。-o 逻辑或,只要一个条件为0,结果为0。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值