1. 程式人生 > >linux shell 指令碼【2】 ---- 數學運算

linux shell 指令碼【2】 ---- 數學運算

在Bash shell環境中,可以利用 let、 (()) 、 [ ]、 expr 、  bc 進行數學運算

用法直接上程式碼,如下:

#! /bin/bash

echo "數學運算篇 START"


#基本運算----let

a=5;
b=4;
echo "a = $a , b = $b"

let c=a+b;
echo "a + b =  $c"

let a++
echo "a++ = $a"

let b--
echo "b-- = $b"

let b+=a
echo "b+=a: b = $b"


#基本運算----[]

echo "a = $a, b = $b"
c=$[a+b]
echo "\$[a+b] = $c"
c=$[$a+$b]
echo "\$[\$a+\$b] = $c"


#基本運算----(())

c=$((a+b))
echo "\$((a+b))=$c"


#基本運算----expr

c=`expr 3 + 4` #注意+兩側的空格
echo "$c"

c=`expr $a + $b`
echo "$c"


#高階運算----bc

#1.計算浮點
echo "4 * 0.56" | bc

a=5.5
b=3.5
c=`echo "$a * $b" | bc`
echo "$a * $b = $c"

#2.設定小數精度
c=`echo "scale=3; $a * $b" | bc`
echo "scale=3; $a * $b = $c"

#3.進位制轉換
d=`echo "obase=2; $c" | bc`
echo "obase=2; $c = $d"

#4.高階函式
a=`echo "sqrt(100)" | bc`
echo "sqrt(100) = $a"

b=`echo "3^3" | bc`
echo "3^3 = $b"

echo "數學運算篇 END"

輸出結果如下:

數學運算篇 START
a = 5 , b = 4
a + b =  9
a++ = 6
b-- = 3
b+=a: b = 9
a = 6, b = 9
$[a+b] = 15
$[$a+$b] = 15
$((a+b))=15
7
15
2.24
5.5 * 3.5 = 19.2
scale=3; 5.5 * 3.5 = 19.25
obase=2; 19.25 = 10011.0100000
sqrt(100) = 10
3^3 = 27
數學運算篇 END

o(∩∩)o...哈哈,有點凌亂了把,一行行對照,還是不難看出來每行的輸出結果滴。。。


注:內容多參照 《Linux Shell 腳步攻略》。 算學習筆記了。跟大家分享一下。

寫的有不妥的地方,還望多多指正!

每天進步一點點!!!