Linux數值運算:let,(()),[ ]詳解

在Bash shell環境中,可以利用let、(( ))和[]執行基本的算術操作。而在進行高級操作時,expr和bc這兩個工具也會非常有用.可以用普通的變量賦值方法定義數值,這時,它會被存儲為字符串。然而,我們可以用一些方法使它能像數字一樣進行運算

Linux數值運算:let,(()),[ ]詳解

(1) let 命令可以直接執行基本的算術操作。當使用let時,變量名之前不需要再添加$,

例如

[rhx@localhost?Test]$?source?1.3.2.sh  [rhx@localhost?Test]$?let?result=no1+no2  [rhx@localhost?Test]$?echo?$result

Linux數值運算:let,(()),[ ]詳解

自加,自減,按步長加

[rhx@localhost?Test]$?let?no1++  [rhx@localhost?Test]$?let?no1--  [rhx@localhost?Test]$?let?no1+=6  [rhx@localhost?Test]$?let?no1-=6

操作符[]的使用方法和let命令類似:

[rhx@localhost?Test]$?reslut=$[?no1+no2?]

Linux數值運算:let,(()),[ ]詳解

在[]中也可以使用$前綴,例如:

[rhx@localhost Test]$ reslut=$[ $no1+5?

也可以使用(()),但使用(())時,變量名之前需要加上$:

result=$((?no1?+?50?))  expr同樣可以用于基本算術操作:  result=`expr?3?+?4`  result=$(expr?$no1?+?5)

以上這些方法只能用于整數運算,而不支持浮點數。

(2) bc是一個用于數學運算的高級工具,這個精密計算器包含了大量的選項。可以借助它執行浮點數運算并應用一些高級函數:

[rhx@localhost?Test]$?echo?"4*0.56"?|?bc

Linux數值運算:let,(()),[ ]詳解

其他參數可以置于要執行的具體操作之前,同時以分號作為定界符,通過stdin傳遞給bc。
? 設定小數精度。在下面的例子中,參數scale=2將小數位個數設置為2。因此,

bc將會輸出包含兩個小數位的數值。

[rhx@localhost?Test]$?echo?"scale=2;3/8"|bc

Linux數值運算:let,(()),[ ]詳解

? 進制轉換。用bc可以將一種進制系統轉換為另一種。來看看如何將十進制轉換成二進制,然后再將二進制轉換回十進制:
#!/bin/bash

用途:數字轉換

[rhx@localhost?Test]$?nu=100  [rhx@localhost?Test]$?echo?"obase=2;$nu"|bc

Linux數值運算:let,(()),[ ]詳解

? 計算平方以及平方根。
echo “sqrt(100)” | bc #Square root
echo “10^10” | bc #Square

相關推薦:

關于數值運算符的相關文章推薦

? 版權聲明
THE END
喜歡就支持一下吧
點贊12 分享