企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
## 1.使用let ``` a=2 b=3 c=4 d=5 e=2 let "a+=1" let "b=b*c" let "c=c/2" let "d=--d" let "e=e**3" echo "a=$a,b=$b,c=$c,d=$d,e=$e" ``` > 1.let几乎支持所有的运算符 > 2.方幂运算应使用“**” > 3.参数在表达式中直接访问,不必加$ > 4.一般情况下算数表达式可以不加双引号,但是若表达式中有bash中的关键字则需加上 > 5.let后的表达式只能进行整数运算 ## 2.使用(()),使用与let完全相同 ``` a=2 b=3 c=4 d=5 e=2 ((a+=1)) ((b=b*c)) ((c=c/2)) ((d=--d)) ((e=e**3)) echo "a=$a,b=$b,c=$c,d=$d,e=$e" ``` ## 3.使用$[] ``` a=2 b=3 c=4 d=5 e=2 a=$[$a+1] b=$[$b*$c] c=$[$c/2] d=$[$d-1] e=$[$e**3] echo "a=$a,b=$b,c=$c,d=$d,e=$e" ``` > 1.$[]将中括号内的表达式作为数学运算先计算结果再输出 > 2.对$[]中的变量进行访问时前面需要加$ > 3.$[]支持的运算符与let相同,但也只支持整数运算 ## 4.使用expr ``` a=2 b=3 c=4 d=5 e=2 a=`expr $a + 1` b=`expr $b \* $c` c=`expr $c / 2` d=`expr $d - 1` e=`expr $e \* $e \* $e` echo "a=$a,b=$b,c=$c,d=$d,e=$e" ``` > 1.expr后的表达式个符号间需用空格隔开 > 2.expr支持的操作符有: |、&、=、>、+、-、\*、/、% > 3.expr支持的操作符中所在使用时需用\\进行转义的有:|、&、=、>、\* > 4.expr同样只支持整数运算 ## 4.使用bc(可进行浮点数计算) ``` a=2 b=3 c=4 d=5 e=2 a=`echo "$a+1" | bc` b=`echo "$b*$c" | bc` c=`echo "$c/2" | bc` d=`echo "$d-1" | bc` e=`echo "$e^3" | bc` echo "a=$a,b=$b,c=$c,d=$d,e=$e" ``` > bc是linux下的一个简单计算器,支持浮点数计算,在命令行下输入bc即进入计算器程序,而我们想在程序中直接进行浮点数计算时,利用一个简单的管道即可解决问题。 > 1.bc支持除位操作运算符之外的所有运算符 > 2.bc中要使用scale进行精度设置 > 3.浮点数计算实例 ``` var=3.14 var=`echo "scale=2;$var\*3"|bc` echo $var 输出结果为9.42 ``` ## 5.使用awk (可进行浮点数计算) ``` var=3.14 var=`echo "$var 2"|awk '{printf("%g",sin($1/$2))}'` echo $var ```