Shell腳本筆記(三)shell中的數學計算
阿新 • • 發佈:2018-01-19
pos 使用 pan 數學計算 options ons post ash 用法
shell中的數學計算
一、使用方括號
#!/bin/bash a=10 b=29 c=88 res=$[$a * ($c-$b)] echo $res
二、bc的用法
bc技術器實際上是一種編程語言,它可以識別:
數字(整數和浮點數)
變量(簡單變量和數組)
註釋(以#或C語言中的/* */開始的行)
表達式
編程語句(例如if-then語句)
函數
浮點運算是由內建變量scale控制的。必須將這個值設置為你希望在計算結果中保留的小數
位數,否則無法得到期望的結果。
$ bc -q 3.44 / 5 0 scale=4 3.44 / 5 .6880 quit $
bc還能支持變量:
$ bc -q var1=10 var1 * 4 40 var2 = var1 / 5 print var2 2 quit $
腳本中使用bc:
方式一:
variable=$(echo "options; expression" | bc)
實例:
#!/bin/bash var1=$(echo "scale=4; 3.44 / 5" | bc) echo The answer is $var1
方式二,使用內聯輸入,格式:
variable=$(bc << EOF
options
statements
expressions
EOF
)
var1=10.46 var2=43.67 var3=33.2 var4=71var5=$(bc << EOF scale = 4 a1 = ( $var1 * $var2) b1 = ($var3 * $var4) a1 + b1 EOF )
Shell腳本筆記(三)shell中的數學計算