您的位置:首页 > 运维架构 > Shell

shell运算符

2016-03-16 10:21 274 查看
原生bash不支持数学运算(加,减,乘,除,求余),可以通过awk, expr实现。

expr是一款表达式计算器,使用反引号 `

表达式与运算符之间要有空格

val1=`expr 2 + 2` #有空格
echo $val1        #4
val2=`expr 2+2`   #无空格
echo $val2        #2+2


算术运算符

乘法      `expr $a \* $b`
赋值      a=$b


a=10
b=20
val=`expr $a \* $b`  #乘法为 \*, expr要加空格


关系运算符

[ expression ] 同test,用于测试

test 3 -gt 5
echo "$?"    #正常结果返回0
[ 3 -le 5 ]
echo "$?"    #非正常结果返回1




运算表达式说明
相等[
$a -eq $b
]
中括号与变量间有空格
不相等[
$a -ne $b
]
中括号与变量间有空格
大于[
$a -gt $b
]
中括号与变量间有空格
大于等于[
$a -ge $b
]
中括号与变量间有空格
小于[
$a -lt $b
]
中括号与变量间有空格
小于等于[
$a -le $b
]
中括号与变量间有空格

布尔运算符

连接多个测试表达式

运算表达式说明
[
!$b
]
中括号与变量间有空格
[
$a -o $b
]
中括号与变量间有空格
[
$a -a $b
]
中括号与变量间有空格

逻辑运算符

&&

||

字符串运算符

-n 是否不为空

-z 是否为空

文件测试运算符

-e 是否存在

-f 是否文件

-d 是否目录
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: