Linux Shell运算符总结

Linux Shell运算符

 

Shell中的运算符可分为算数运算符、关系运算符、布尔运算符、字符串运算符和文件测试运算符

 

1.算术运算符

 

a=2, b=1

OperatorDescriptionExample
+加法`expr $a + $b` # 3
-减法`expr $a - $b` # 1
*乘法`expr $a \* $b` # 2, *需转义
/除法`expr $a / $b' # 2
%取余`expr $a % $b' # 0
=赋值name=value
==相等比较[ $a == $b ] # false
!=不等比较[ $a != $b ] # true 

 

注意:条件表达式要放在方括号之间,并且要有空格,例如 [$a==$b] 是错误的,必须写成 [ $a == $b ]

2.关系运算符

关系运算符只支持数字,不支持字符串,除非字符串的值是数字 

 

a=1, b=2

OperatorDescriptionExample
-eq判断是否相等[ $a -eq $b ] # false
-ne是否不相等[ $a -ne $b ] # true
-gt是否大于[ $a -gt $b ] # false
-lt是否小于[ $a -lt $b ] # true
-ge是否大于等于[ $a -ge $b ] # false
-le是否小于等于[ $a -le $b ] # true

 

 

3.布尔运算符

 

OperatorDescriptionExample
!非运算[ ! false ] 返回 true
-o或运算[ true -o false ] 返回true
-a与运算[ true -a false] 返回false

 

 

4.字符串运算符

 a=abc, b=def

OperatorDescriptionExample
=是否相等[ $a = $b ] # false
!=是否不相等[ $a != $b ] # true
-z长度是否为0[ -z $a ] # false
-n长度是否不为0[ -n $a ] # true
str是否为空[ $a ] # false

 

 

5.文件测试运算符

 

文件测试运算符用于检测 Unix 文件的各种属性

 

OperatorDescriptionExample
-b file是否是块设备文件[ -b $file ] 
-c file是否是字符设备文件[ -c $file ] 
-d file是否是目录[ -d $file ]
-f file是否是普通文件(既不是目录,也不是设备文件)[ -f $file ] 
-g file是否设置了 SGID 位[ -g $file ] 
-k file是否设置了粘着位(Sticky Bit)[ -k $file ]
-p file是否是具名管道[ -p $file ]
-u file是否设置了 SUID 位[ -u $file ]
-r file是否可读[ -r $file ]
-w file是否可写[ -w $file ]
-x file是否可执行[ -x $file ]
-s file是否不为空(文件大小是否大于0), 不为空返回true[ -s $file ] 
-e file文件(包括目录)是否存在[ -e $file ] 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值