深入探索Shell编程:算术运算、数组与bc计算器
1. 算术运算与扩展
1.1 算术扩展基础
算术扩展用于对整数执行各种算术运算,基本形式为$((expression)),其中expression是有效的算术表达式。这与用于算术求值(真值测试)的复合命令(( ))相关。
1.2 数字进制
在算术表达式中,shell支持任何进制的整数常量,不同进制的表示方法如下表所示:
| 表示法 | 描述 |
| — | — |
| number | 默认情况下,无任何表示法的数字被视为十进制(基数为10)整数 |
| 0number | 在算术表达式中,以零开头的数字被视为八进制 |
| 0xnumber | 十六进制表示法 |
| base#number | number 是 base 进制的数 |
示例:
[me@linuxbox ~]$ echo $((0xff)) 255 [me@linuxbox ~]$ echo $((2#11111111)) 2551.3 一元运算符
有两个一元运算符+和-,分别用于表示数字的正负,例如-5。
1.4 简单算术运算
常见的算术运算符如下表: