shell编程(五)条件判断

这里所说的条件判断是对变量的大小、字符串、文件属性等内容进行判断。

test命令可以用于字符串、数字、文件状态等内容的测试。

文件状态:

指的是对文件的权限、有无、属性、类型等内容进行判断。与其他语言不同的是,test命令的测试结果,返回0时表示测试成功。返回1时表示测试失败。

数值比较:

指的是比较两个数值的大小或相等关系,相当于c语言中的比较运算符。shell程序中的数值测试有下面两种形式。
1、test命令和相应的参数可以对两个数值的关系进行测试,使用方法如下所示。
test  第一个操作数  数值比较符 第二个操作数  
2、用中括号代替test命令。这种方法和test命令的原理相同,使用方法如下所示。
 [ 第一个操作数  数值比较符 第二个操作数  ]


逻辑比较:

指的是将多个条件进行逻辑运算,常用作循环语句或判断语句的条件。shell程序中有下面三种逻辑测试。
-a:逻辑与,操作符两边均为真时结果为真,否则为结果为假。
-o:逻辑或,操作符两边至少一个为真时,结果为真,否则为假。
! :逻辑否,只有条件为假时,返回结果为真。

字符串比较:

指的是比较两个字符串是否相等,或者判断一个字符串是否为空。这种判断常用来测试用户输入是否符合程序的要求。字符串测试有下面4中常用的方法。
test字符串比较符 字符串
test  字符串1  字符串比较符  字符串2
[ 字符串比较符 字符串 ]
[ 字符串1  字符串比较符  字符串2 ]
字符串比较符有如下所示的4种。
=:测试两个字符串是否相等。
!=:测试两个字符串是否不相等。
-z:测试字符串是空字符串。
-n:测试字符串是非空字符串。

例如判断字符串str非空:[ -z $str ]


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值