Linux-数值运算
Shell - 数值运算
因为shell脚本是属于弱语⾔,没有变量类型的概念,所以定义变量会默认为字符串。就算看上去是⼀个数字,当直接进⾏计算时,就会出错:
x=1
echo $x+=1
# 输出1+=1,并不是⾃⼰想要的2
所以当我们需要进⾏数值运算时,我们需要⼀些特殊的⽅法,在Linex中提供了好⼏种⽅法。
1. 使⽤ $[]
x=1
echo $[$x+=1]
2. 使⽤ expr
expr为Linux中的⼀个命令,可以⽤于数值计算,也可以⽤于字符串操作:
x=1
expr 14 % 9
expr 10 + 10
expr $x + 1
# 使⽤乘号⽐较特殊,必须⽤反斜杠
expx $x \* 3
使⽤expr也存在缺陷:进⾏计算的值只能为整数,得到的结果也会以整数形式返回。
3. 使⽤ (())
相⽐于$[]和expr,这种⽅式功能⽐较强⼤:
⽀持++,--操作
⽀持多个表达式运算,⽤逗号分隔
双括号可以进⾏逻辑运算,四则运算
双括号结构拓展了for,while,if条件测试运算
在双括号结构中,所有变量可以不加⼊$符号前缀
x=1
(( y = x + 1,z = y + 1 ))
echo $z
a=10
b=10
total=$((a*b))
4. 使⽤ let
var=1
# 这种写法运算符间不能有空格
shell脚本写加减乘除运算let "var+=1"
let var+=1
echo $var
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论