Shell脚本--(())
双小括号 (( )) 是 Bash Shell 中专门用来进行整数运算的命令,它的效率很高,写法灵活。
但是,(( )) 只能进行整数运算,不能对小数(浮点数)或者字符串进行运算。
1. (()) 使用
(()) 的语法格式为:
((表达式))
通俗地讲,就是将数学运算表达式放在 (( 和 )) 之间。
表达式可以只有一个,也可以有多个,多个表达式之间以逗号 , 分隔。对于多个表达式的情况,以最后一个表达式的值作为整个 (( )) 命令的执行结果。
可以使用 $ 获取 (( )) 命令的结果,这和使用 $ 获得变量值是类似的。
示例:
#!/bin/bash echo $((a=1+1,b=1+a)) echo $a echo $b echo $((1<2))
结果为:
3 2 3 1
在测试碰到一个问题,思考很久都 没有头绪,先记录下来待以后解决:
#!/bin/bash set -e ((i = $1 % 3)) echo "i: $i"
奇怪的是输入参数是1、2、4、5....这些对3取模不为0的数都能正常打印 i 值,如果输入0、3、6...这些对3取模为0的数就无法打印 i 值。

浙公网安备 33010602011771号