Linux中通過shell進行數據計算


在bash shell中可以利用let、(())和[]執行基本呢的算數運算。而在進行高級操作時,可以利用expr和bc兩個工具進行計算。

1、let命令可以直接執行基本的算數計算。當使用let時,變量名之前不許要再添加$。

let   result=num1+num2

#!/bin/bash
a=5
b=6
let result=a*b
echo $result
let result*=result #注意此行,變量與符號之間不能有空格
echo "the result is $result"
結果為

30

the result is 900

2、操作符[]的使用方法和let命令相似。

result=$[num1+num2 ]注意等號兩邊不能有空格

在[]中也可以用$前綴。

#!/bin/bash
a=5
b=6
result=$[a+b ]
echo "The result is $result"
result=$[$a+$a ]
echo "the result is $result"
結果為

The result is 11

the result is 10

3、使用(())也可以進行計算,但在使用(())時,變量名前需要加上$.

result=$((num1 +num2 ))

#!/bin/sh
num1=5
num2=6
result=$((num1+num2))
echo "the result is $result"
結果為:

the result is 11

4、expr同樣可以用於基本的數據操作

result=`expr4+5`

result=$(expr$num1+2)

實例:

#!/bin/sh
num1=5
num2=6
result=$(expr$num1 + $num2) #注意$num1和$num2與+之間一定要有空格
echo "the result is $result"
結果為:

the result is 11

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

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

echo "4*6.4" |bc

設定小數精度。參數scale=2將小數位數個數設置為2.

echo "scale=2;13/8" | bc

1.62

用bc進行進制轉換。進制轉換設置參數obase=進制數。

#!/bin/bash
no=100
echo "obase=2;$no" |bc
no=111111
echo "obase=10;ibase=2;$no" |bc
結果為:

1100100

63

用bc計算平方及平方根

echo "sqrt(100)" |bc

10

echo "10^10" |bc

10000000000





免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM