概述
Bash shell 使用 let、(( )) 和 [ ] 执行基本的算术操作。命令 expr 和 bc 可以用来执行高级操作。
let 命令
可以使用 let 命令进行一些基本的算术操作。当使用 let 时,在引用变量值不需要在变量名前添加 $ 符号。例如:
a=1
b=3
let result=a+b+3
echo $result

注:不支持浮点数运算。可以进行自加(
let num++)、自减(let num--)操作。
[ ] 操作符
操作符 [ ] 的使用同 let 命令一样,语法格式如下:
num1=3
num2=4
result=$[ num1 + num2 ]
echo $result

注意:
- 也不支持浮点数运算。
[ ]内对空格没有强制要求。即$[ 1 + 2 ]、$[ 1+2 ]、$[1+2]都是可以的。- 在
[ ]中引用变量的值既可以加$符号也可以不加。如$[ num1 + num2 ]和$[ $num1 + $num2 ]都是可以的。
(( )) 操作符
操作符 (( )) 使用的语法格式如下:
num1=3
num2=4
result=$(( num1 + num2 ))
echo $result

注意:
- 也不支持浮点数运算。
(( ))内对空格也没有要求。$((num1+num2))、$((num1 + num2))、$(( num1 + num2 ))都是可以的。- 在
(( ))中引用变量的值既可以加$符号也可以不加。如$(( num1 + num2 ))和$(( $num1 + $num2 ))都是可以的。
expr 命令
expr 命令的格式如下:
num=13
result=$(expr $num + 5)
# 或者
# result=`expr $num + 5`
echo $result

注意:
- 也不支持浮点数运算。
$()表示获取expr命令的执行结果。expr命令后面跟的运算式对空格有要求。expr $num+5是错误的。- 引用变量的值必须在变量名前面使用
$符号。
bc 命令
bc 命令可以用于数学运算,支持浮点数运算并使用一些高级函数。基本使用如下:
num=12
result=$(echo "$num*1.5" | bc)
echo $result

该命令更多请参考:Linux命令之计算器bc。
本文介绍了在Linux shell中进行基本和高级算术运算的方法,包括let命令、[]操作符、(())操作符以及expr和bc命令的用法。let和[]、(())不支持浮点数运算,主要用于整数运算,而expr与bc则提供了更复杂的表达式支持,其中bc命令可以进行浮点数运算。这些工具在Linux shell脚本中对于进行数学计算非常实用。
3474

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



