2013-11-20

Ubuntu 用 echo 指令做簡單數學運算

阿舍上次有介紹過用 bc 這個指令來做運算,bc 可以用檔案內值來做運算,也支援簡單的 Shell 指令,不過,如果只是做很簡單的整數加、減、乘、除的話,其實,只要運用 echo 這個指令就可以做到了,是的,echo 指令也會算術的哩 ! ... 呵 ! 所以,阿舍今天就來說明一下如何用 echo 指令來做數學運算囉  !

echo 運算範例
不過,嚴格來說,並不是 echo 指令會算算術,而是請 Shell 幫我們來做算數哩 ! echo 指令的功能很簡單,就是把 echo 指令後面帶的文字給顯示出來,所以,不管給什麼,它都會把它忠實的顯示出來,因此我們就可以利用 Shell 的 $[] 運算式表示方式來請 echo 指令來把我們的運算式給顯示出來哩 !

$[] 這個符號在 Shell 程式中是用來將數學運算式指定給變數的,所以,阿舍借用一下 $[] 的這項能力,然後,再透過 echo 指令來把運算結果顯示出來,就可以達到用指令來快速做運算的目的了,以阿舍要做個「 (123*4+(300-12)) - 99 + (15/5) 」的算式的話,就可以用下面這一行指令來算出哩 ! (運算結果請參考上圖)

echo  $[ ( 123 * 4 + ( 300 - 12 ) ) - 99 + ( 15 / 5 ) ]

不過,要注意的是,數字和加減乘除符號之間都要有留空白字元,否則,就會發生錯誤哩 ! (註: 較新版本的 Ubuntu 可以不留空白) 另外,運算式內除了數字和運算符號之外,也是可以使用變數的,所以,如果遇到要拆很多段來運算的情形的時候,就可以利用變數來幫忙囉 ! (運算範例請參考上面的第一張圖)

echo $[ $x*$y ]

以上提到的這種運算方式可以使用的運算符號包括加(+)、減(-)、乘(*)、除(/)、次方(**) 和餘數(%),然後,要再提醒一次,以上用法只能用整數算出整數,所以,請不要餵食有小數點的數字給他,是會有錯誤訊息的,同時,也不要期望他能算出 1.425678 這種結果,像「10/3」 這種除不完的算式結果,就只會出現整數而已哩 ! 如果要精準一點,請改用 bc 程式來算囉 !

因此,阿舍這次說明的這種用法,就是適合像阿舍這種常打指令或臨時要做個簡單的加減乘除的時候來用用囉 ! ^^=

推薦閱讀


有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁

沒有留言 :

張貼留言

歡迎留言提問和討論 .... 😁