首頁  >  文章  >  運維  >  Linux數值運算:let,(()),[ ]詳解

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

小云云
小云云原創
2018-03-31 13:53:272836瀏覽

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


(1) let 指令可以直接執行基本的算術運算。使用let時,變數名之前不需要再加$,

例如

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

自加,自減,按步長加

[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 ]


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

[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



#其他參數可以置於要執行的特定操作之前,同時以分號作為定界符,透過stdin傳遞給bc。
 設定小數精確度。在下面的範例中,參數scale=2將小數位個數設定為2。因此,

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

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



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

用途:數字轉換

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


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

相關推薦:

#關於數值運算子的相關文章推薦

#

以上是Linux數值運算:let,(()),[ ]詳解的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn