linux shell脚本test,【Linux Shell脚本编程】使用[ ]或者test命令实现条件测试判断

条件判断通常用在Shell脚本中,比如实现“如果A目录不存在则创建A目录”这样的需求。对于要进行条件判断的数据类型通常有整数、字符串、文件三种。常用的条件判断表达式的书写方式有两种:

# test+表达式

# [ 表达式 ] #注意方括号两边都是有空格的

[root@iZ25aj1q2ovZ ~]# test $a -eq $b

[root@iZ25aj1q2ovZ ~]# [ $a -eq $b ]

一、对整数类型的数据进行条件判断,用于比较数字:

-eq:测试两个整数是否相等,如$a -eq $b,判断a和b两个变量的值是否相等,是的话$?返回值为0

-ne:测试两个整数是否不等,不等为真(即$?返回0)

-gt:测试一个数是否大于另一个数,大于为真,否则为假

-lt:测试一个数是否小于另一个数,小于为真,否则为假

-gt:测试一个数是否大于或等于另一个数

-le:测试一个数是否小于或等于另一个数

二、对文件类型的数据进行条件判断,用于测试文件属性或者文件类型:

-e:测试文件是否存在,如-e /etc/fstab

-f:测试是否为普通文件

-d:测试是否为目录文件

-w:测试当前用户是否对文件有写权限

-r:测试当前用户是否对文件有读权限

-x:测试当前用户是否对文件有执行权限

三、对字符串类型的数据进行条件判断,用于测试字符内容是否为正确的值(变量或字符串都要用双引号避免比如变量不存在的情况下报出的语法错误):

=:测试两边字符串是否相等,不可用于数字大小的比较,如果涉及到正则表达式那应该写为=~

-n:测试变量是否为空

-s :测试变量是否不空

!:对判断结果取反,如!=、! -d、! -f

if [ ! -d $DIR ];then

echo "$DIR not exists"

else

echo "$DIR already exists"

fi四、组合逻辑测试:

-a:逻辑与关系

-o:逻辑或关系

!: 非关系

if [ $# -gt 1 -a $# -le 5 ]

if [ $# -gt 1 ] && [ $# -le 5 ]

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值