Shell學習 數值運算

2022-08-31 20:06:14 字數 1883 閱讀 1932

在bash shell中,可以利用let、(( ))、執行基本的算術操作,在高階操作時,使用expr和bc兩個工具

1、let

[root@client02 ~]# no1=4

[root@client02 ~]# no2=5

[root@client02 ~]# let result=no1+no2

[root@client02 ~]# echo $result

9[root@client02 ~]# let no1++

[root@client02 ~]# echo $no1

5[root@client02 ~]# let no1+=3

[root@client02 ~]# echo $no1

8[root@client02 ~]#

2、方法

[root@client02 ~]# reslut=$[ no1 + no2 ]

[root@client02 ~]# echo $reslut

13[root@client02 ~]# reslut=$[ no1 + 2 ]

[root@client02 ~]# echo $reslut

10[root@client02 ~]#

3、(())方法

[root@client02 ~]# result=$((no1 + 6))

[root@client02 ~]# echo $no1

[root@client02 ~]# 1

1[root@client02 ~]# echo $result

7[root@client02 ~]#

4、expr方法

[root@client02 ~]# result=`expr 3 + 4`

[root@client02 ~]# echo $result

7[root@client02 ~]# result=`expr $no1 + 4`

[root@client02 ~]# echo $result

5[root@client02 ~]#

5、bc可以執行浮點操作以及一些高階函式,通過stdin傳遞給bc,其他引數可以置於要執行的具體操作之前,同時以分號作為界定符

[root@client02 ~]# echo "4.5*3" | bc

13.5

[root@client02 ~]# no=2

[root@client02 ~]# result=`echo "$no * 3.3" | bc`

[root@client02 ~]# echo $result

6.6[root@client02 ~]#

設定小數精度

[root@client02 ~]# echo "scale=2;8/3" | bc

2.66

[root@client02 ~]#

進製轉換

[root@client02 ~]# no=100

[root@client02 ~]# echo "obase=2;$no"|bc

1100100

[root@client02 ~]# no=10001010

[root@client02 ~]# echo "obase=10;ibase=2;$no"|bc

138[root@client02 ~]# no=123ab

[root@client02 ~]# echo "obase=10;ibase=16;$no"|bc

74667

[root@client02 ~]#

計算平方和平方根

[root@client02 ~]# echo "sqrt(100)"|bc

10[root@client02 ~]# echo "3^3"|bc

27[root@client02 ~]#

shell數值運算

原文 1 錯誤方法舉例 a var 1 1 echo var 輸出的結果是1 1,悲劇,呵呵 b var 1 var var 1 echo var 輸出結果是1 1,依然悲劇,呵呵 2 正確方法 1 使用let var 1 let var 1 echo var 輸出結果為2,這次沒有悲劇 注意 a ...

shell 2 數值運算

1 expr 用法比較麻煩很少使用。示例 jamin localhost expr 1 2 3 號兩邊必須有空格 jamin localhost expr 3 2 6 號是特殊字元。2 使用 示例 jamin localhost echo 1 2 3 jamin localhost echo 3 2...

Shell中的數值運算

問題 本案例要求熟悉linux shell環境的特點,主要練習以下操作 使用expr let等整數運算工具 定義變數x 1234,然後計算x與78的四則運算及求模結果 使用bc實現小數運算操作 以互動方式計算12.34與56.78的四則運算結果,另外再以非互動方式重複上述計算,最多顯示4位小數 步驟...