1. 程式人生 > 其它 >shell中的加減乘除的用法

shell中的加減乘除的用法

常用的有 expr , "scale ......" | bc 兩種運算方式,(使用awk 也可以實現運算: A=awk 'BEGIN{printf "%.2f\n",’$num1‘/’$num2‘}' )

先是exper :

例如 變數 $fre=5000 ,現在要除以 1024

A=`expr ${fre} / 1024` #除號"/" 的兩邊一定要空格才行

echo $A

結果:4 #這個預設是隻輸出整數的

--------------------------------------------------------------------------------------------------------------------

其次是 bc 的用法,作用是控制輸出的精度,因為exper 的演算法不支援浮點數,所以個人來說更喜歡用"scale...." | bc

scale用來確定精度,小數點後面多少位。

用法看一下測試指令碼吧。

#!/bin/bash

#加減乘除發符號

fre=`free | awk '/Mem/ {print $4}'` #這裡獲取剩餘記憶體來賦予一個數,我的大概是 1.4G左右

ar1=1024
ar2=1025

echo "----expr----"
ar3=`expr $fre / $ar1 / $ar1`
echo $ar3
echo "`expr $fre / $ar1`"


echo "----bc----"
echo "scale=2;$fre / $ar1" | bc
echo "scale=3;$fre / $ar2 / $ar1" | bc

結果: