编写 SHELL 脚本时,有哪几种方式可以实现"算数运算"
shell 只有字符串一种变量类型:
shell 是弱类型语言,定义变量不需要声明类型,而且一切变量值默认被视为 字符串。正因 Shell 本身没有真正意义上的数值类型,所以需要使用能识别数字的工具或运算语法来进行计算。
shell 实现算数运算的方式,根据是否有返回值,分为以下两类:
根据表达式返回计算结果:
| 方式 | 示例 | 特点 |
|---|---|---|
expr 命令 |
expr 1 + 2 |
特殊的运算符号需转义,如 \* |
$(( )) 算术扩展 |
sum=$(( a + b )) |
语法简单,里面的变量不用加 $ 也行 |
bc 高精度计算器 |
`echo "1.2 + 3.5" | bc` |
无计算结果,直接给变量赋值:
| 方式 | 示例 | 特点 |
|---|---|---|
let |
let s=a+b |
比较老的一种方式了 |
(( )) |
((s = a + b)) |
这个虽然不返回计算结果,但是会返回状态码,用于判断条件 |
浙公网安备 33010602011771号