Linux拓展之使用 shell 进行数学运算

本文介绍了在Linux shell中进行基本和高级算术运算的方法,包括let命令、[]操作符、(())操作符以及expr和bc命令的用法。let和[]、(())不支持浮点数运算,主要用于整数运算,而expr与bc则提供了更复杂的表达式支持,其中bc命令可以进行浮点数运算。这些工具在Linux shell脚本中对于进行数学计算非常实用。
摘要由CSDN通过智能技术生成

概述

Bash shell 使用 let(( ))[ ] 执行基本的算术操作。命令 exprbc 可以用来执行高级操作。

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值