shell编程(九)条件测试与比较

一  条件测试

重要: shell的各种'条件结构'和'流程控制'结构要进行各种测试,做各种'逻辑判断',根据'测试结'果执行不同的操作

思考: 何为'真'、何为'假'? -->实质都是通过'$?'来判断'真价'

备注: shell是'没有boolean'类型

①  shell真假判断

实质: 根据'$?'作为判断依据;'0'为真,'非0'为假

注意的是: [] 实际是'test'命令,[[]]是test的'增强版命令'

备注: 如果想通过'cmd' 进行逻辑判断,不要加'[]或者[[]]'

②   test

test -f /tmp.oldboy.txt  &&  echo 'succeed'   -->'成功为succeed'

test -f /tmp.oldboy.txt  ||  echo 'failed'    -->'不成功failed'

逻辑操作符: '&&'、'||'

③  []

备注: []中如果有'变量'尽量'加上双引号'

④  [[]]

备注: 双中括号'[[]]'可以使用'正则'

二  文件测试表达式

先'判断'是否符合要求,才进行'操作处理',避免'程序出错'及无谓的'系统资源'消耗

需求: 判断文件的'类型'

备注: 软连接也是文件,所以要'优先判断'是不是'符号链接文件'

备注: 少了一个'-p' -->'pipe管道文件'

三  字符串测试表达式

'u' -->'过去常用' -->'不加双引号'

if [ u' = u'${str} ];then
    echo '字符串为空'
fi

备注: 变量为'空'或'未定义': 长度都为'0'

四  二元比较操作符

①  算术比较运算符


五  逻辑操作符

 &&   逻辑的 'AND' 的意思, -a 也是这个意思,两个条件'同时成立',为真

 ||   逻辑的 'OR' 的意思,  -o 也是这个意思,两个条件'至少一个'成立,为真

六  小结

最佳'实践': 选择'适合自己'的风格,别的能'看懂'即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值