1. 程式人生 > 實用技巧 >《linux下的計算器:bc用法入門篇》

《linux下的計算器:bc用法入門篇》

說起電腦上的計算器,可能所有人的印象都是這樣的

windows的計算器有介面當然很酷,但是如果我們在黑黑的linux下面該怎麼辦呢?

不用急,在linux下面也有一款非常棒的計算器:bc。bc是一款linux下的一款小工具,我們在linux下輸入:man bc,看一下簡單的介紹:


bc居然是一款任意精度的計算器“語言”,看來bc真的很強大。那我們開始安裝下bc工具吧。

一、安裝

centos

yum -y install bc

ubuntu

apt install bc

二、互動式

例子1:輸入bc,預設進入互動式

如果我們要退出,就輸入quit,然後回車


例子2:我們算一個小學生的1+1等於2的問題

輸入1+1,然後回車。


例子3:進行除法運算

輸入4/3,然後回車。


例子4:保留兩位小數

4除以3直接被取整了,如果我們想要保留兩位小數怎麼辦?看下面的例子:

這裡輸入scale=2,即表示保留兩位小數。


互動式一般用於我們手工計算表示式,那麼對於程式設計而言,我們該如何善用bc呢?

三、bc與shell指令碼

shell指令碼的執行都是非互動式的,即執行完全是自動在跑的,無須互動過程。此種場景下,一般有兩種方式使用bc:

1. 通過管道使用 bc

如果你想要直接計算一個表示式,可以這麼寫:

echo "expression" | bc

expression就是計算的數學表示式,比如上面例子中的1+1,4/3,當然,這裡也可以使用shell變數,如下是幾個小例子:

例子1:

#計算1+2的結果

echo "1+2" | bc

例子2:

#計算4/3,保留兩位小數的結果

echo "scale=2;4/3" | bc

例子3:

#使用shell變數,例子中輸出5

a=3;b=2;echo "$a+$b" | bc

2. 通過shell賦值變數

我們也可以把結果賦值給一個變數

var=$(echo "expression" | bc)
這樣var就可以直接儲存計算後的結果

例子4:

#獲取計算結果,並賦值給var

var=$("scale=2;4/3" | bc)
#列印變數的值 echo $var

說起電腦上的計算器,可能所有人的印象都是這樣的

windows的計算器有介面當然很酷,但是如果我們在黑黑的linux下面該怎麼辦呢?

不用急,在linux下面也有一款非常棒的計算器:bc。bc是一款linux下的一款小工具,我們在linux下輸入:man bc,看一下簡單的介紹:

bc居然是一款任意精度的計算器“語言”,看來bc真的很強大。那我們開始安裝下bc工具吧。

一、安裝

centos

yum -y install bc

ubuntu

apt install bc

二、互動式

例子1:輸入bc,預設進入互動式

如果我們要退出,就輸入quit,然後回車

例子2:我們算一個小學生的1+1等於2的問題

輸入1+1,然後回車。

轉存失敗重新上傳取消

例子3:進行除法運算

輸入4/3,然後回車。

轉存失敗重新上傳取消

例子4:保留兩位小數

4除以3直接被取整了,如果我們想要保留兩位小數怎麼辦?看下面的例子:

這裡輸入scale=2,即表示保留兩位小數。

轉存失敗重新上傳取消

互動式一般用於我們手工計算表示式,那麼對於程式設計而言,我們該如何善用bc呢?

三、bc與shell指令碼

shell指令碼的執行都是非互動式的,即執行完全是自動在跑的,無須互動過程。此種場景下,一般有兩種方式使用bc:

1. 通過管道使用 bc

如果你想要直接計算一個表示式,可以這麼寫:

echo "expression" | bc

expression就是計算的數學表示式,比如上面例子中的1+1,4/3,當然,這裡也可以使用shell變數,如下是幾個小例子:

例子1:

#計算1+2的結果

echo "1+2" | bc

例子2:

#計算4/3,保留兩位小數的結果

echo "scale=2;4/3" | bc

例子3:

#使用shell變數,例子中輸出5

a=3;b=2;echo "$a+$b" | bc

2. 通過shell賦值變數

我們也可以把結果賦值給一個變數

var=$(echo "expression" | bc)

這樣var就可以直接儲存計算後的結果

例子4:

#獲取計算結果,並賦值給var

var=$("scale=2;4/3" | bc)

#列印變數的值

echo $var