【shell】整数运算,小数运算

↘锁芯ラ 提交于 2019-12-27 06:32:00

【shell】整数运算,小数运算

1.整数运算

【demo01】expr

typeset x=10

typeset y=2

 

n1=`expr $x + $y`

n2=`expr $x  - $y`

n3=`expr $x \* $y`  #使用expr时 符号* 需要转义

n4=`expr $x / $y`

n5=`expr $x % $y`

 

echo n1=$n1,n2=$n2,n3=$n3,n4=$n4,n5=$n5

 

【demo02】小括号

typeset x=10

typeset y=2

 

((n1=$x+$y))

((n2=$x-$y))

((n3=$x*$y))

((n4=$x/$y))

((n5=$x%$y))

 

echo n1=$n1,n2=$n2,n3=$n3,n4=$n4,n5=$n5

 

echo $(($x+$y))

echo $(($x-$y))

echo $(($x*$y))

echo $(($x/$y))

echo $(($x%$y))

 

说明:((n1=$x+$y))  等价于 n1=`expr $x + $y`

 

【demo03】中括号

typeset x=10

typeset y=2

 

echo $[$x+$y]

echo $[$x-$y]

echo $[$x*$y]

echo $[$x/$y]

echo $[$x%$y]

 

 

【demo04】let

typeset x=10

typeset y=2

 

let n1=$x+$y

let n2=$x-$y

let n3=$x*$y

let n4=$x/$y

let n5=$x%$y

 

echo n1=$n1,n2=$n2,n3=$n3,n4=$n4,n5=$n5

 

2.小数运算

【demo01】awk

#!/bin/bash

echo `awk -v x=2.45 -v y=3.123 'BEGIN{printf "%.2f\n",x*y}'`

typeset num=3.123

echo `awk -v x=2.45 -v y=$num 'BEGIN{printf "%.2f\n",x*y}'`

 

说明:awk的变量可以自定义,也可以从外部获取。

 

【demo02】|bc

#!/bin/bash

typeset n1=$(echo "scale=3; 6 / 5" | bc)

typeset n2=`echo "scale=3; 6 / 5" | bc`

 

typeset x=6

typeset y=5

typeset z=1.5

typeset n3=$(echo "scale=3;$x / $y" | bc)

typeset n4=$(echo "scale=3;$z / $y" | bc)

typeset n5=$(echo "scale=3;$x * $y" | bc)

 

echo n1=$n1,n2=$n2,n3=$n3,n4=$n4,n5=$n5

 

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!