Linux之数值运算:let,(()),[ ]
生活随笔
收集整理的這篇文章主要介紹了
Linux之数值运算:let,(()),[ ]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在Bash shell環境中,可以利用let、(( ))和[]執行基本的算術操作。而在進行高級操作時,
[rhx@localhost Test]$ reslut=$[ no1+no2 ]
其他參數可以置于要執行的具體操作之前,同時以分號作為定界符,通過stdin傳遞給bc。
? 設定小數精度。在下面的例子中,參數scale=2將小數位個數設置為2。因此,
? 進制轉換。用bc可以將一種進制系統轉換為另一種。來看看如何將十進制轉換成二進制,然后再將二進制轉換回十進制:
#!/bin/bash
? 計算平方以及平方根。
echo "sqrt(100)" | bc #Square root
echo "10^10" | bc #Square
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,(()),[ ]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Linux之eval命令使用
- 下一篇: Linux之数组和关联数组