Bash脚本中的算术运算与条件判断技巧
1. Bash中的整数算术运算
在Bash脚本里,只要是进行整数算术运算,就可以使用 $(( )) 结构内的标准(类似于C语言)运算符。另外,还有一个特殊运算符 ** 用于幂运算,例如 MAX=$((2**8)) ,结果为256。
在 $(( )) 表达式中,运算符和参数周围不需要空格,不过 ** 必须连在一起。但要注意,等号周围不能有空格,这和所有Bash变量赋值的规则一样。比如 COUNT = $((COUNT + 5)) ,Bash会尝试运行名为 COUNT 的程序,将等号作为第一个参数, $COUNT 加5的结果作为第二个参数。
还有一个特殊之处是,在双括号内使用Shell变量时,通常放在变量前表示取值的 $ 符号不需要。例如 $((COUNT + 5 + MAX * 2)) ,Shell变量前不需要美元符号,因为外层的 $ 作用于整个表达式。不过,如果使用位置参数(如 $2 )来与数字常量(如“2”)区分时,就需要美元符号,示例如下:
COUNT=$((COUNT + $2 + OFFSET))
另外,Bash内置的 let 语句也可
超级会员免费看
订阅专栏 解锁全文
7

被折叠的 条评论
为什么被折叠?



