1. 程式人生 > >Shell腳本筆記(三)shell中的數學計算

Shell腳本筆記(三)shell中的數學計算

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=71
var5=$(bc << EOF scale = 4 a1 = ( $var1 * $var2) b1 = ($var3 * $var4) a1 + b1 EOF )

Shell腳本筆記(三)shell中的數學計算