溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

Li ux shell 四則運算

發布時間:2020-07-21 06:00:52 來源:網絡 閱讀:693 作者:happytree007 欄目:開發技術

一、整數的四則運算

    (1)使用let 表達式, 變量前不需要加'$'

        let sum=num1+num2

    (2)$[表達式], 變量前既可以加$, 也可以不加$

        sum=$[num1 + num2]
        sum2=$[$num1 - 5]
        sum3=$[num1 + 3]

    (3)$((表達式)), 變量前既可以加$, 也可以不加$

        result=$(($num1 + num2 - 5))

    (4)expr, 使用‘`’字符將表達式闊起來,或則使用$(expr 表達式), 操作數和操作符必須用空格分割

        result=`expr $num \* 4` #乘法 * 需要轉義
        result2=$(expr $num / 3)


二、浮點數的四則運算

        bc是一個數學運算的高級工具,使用分號作為定界符,通過stdin傳遞給bc。

        (1)設置小數精度

            通過設置scale的值,指定結果的小數位數

       $  echo "scale=2;4/3" | bc
       $  1.33

        (2)進制轉換

                通過設置obase的值,將輸入數字轉換為obase設置的值的進制數

        $ echo "obase=2;3" | bc #轉換為二進制   
        $ 11                
        $ echo "obase=8;3" | bc #轉換為八進制                
        $ 3                
        $ echo "obase=8;9" | bc #轉換為八進制                
        $ 11    
        $ echo "obase=16;10" | bc #轉換為十六進制                
        $ A

   

        (3)一些高級應用

        $ echo "sqrt(16)"   | bc
        $ 4
        $ echo "10 ^ 2" | bc     
        $ 100

三、例子

    #!/bin/bash    
    
    num1=3
    num2=5
    
    #使用let時,變量前不需要加 $ 
    let sum=num1+num2
    echo "$num1 + $num2 = $sum"
    
    let num1++  #自增
    let num2--  #自減
    echo "num1=$num1, num2=$num2"
    
    let num1+=5  #復合運算
    let num2-=2
    echo "num1=$num1, num2=$num2"
    
    
    #使用  $[表達式] 進行計算
    div=$[num1 / num2]
    echo "$num1 / $num2 = $div"
    
    sss=$[num1 + num2]
    echo "$num1 + $num2 = $sss"
    
    num3=$[num1 - 3]
    echo "num3=$num3"
    
    #使用 $((表達式)), 其中表達式中的變量可以用$,也可以不使用$
    num4=$(($num1 + num2 - num3 + 4))
    echo "num4=$num4"
    
    #使用 expr 進行計算, 操作數和操作符必須要空格隔開
    num5=`expr $num1 + $num3`
    echo "num5=$num5"
    num6=`expr $num2+$num4`
    echo "num6=$num6" #由于操作數和操作符沒有隔開,變成了一個字符串,并沒有計算
    
    result=`expr $num1 \* 4` #乘法 * 需要轉義
    echo "result=$result"
    
    result2=$(expr $num2 / 3)
    echo "result2=$result2"
    #以上都只能進行整數的計算,不能對浮點數進行操作

        結果:

            3 + 5 = 8
            num1=4, num2=4
            num1=9, num2=2
            9 / 2 = 4
            9 + 2 = 11
            num3=6
            num4=9
            num5=15
            num6=2+9 #這個即為操作數和操作符沒有隔開的結果
            result=36
            result2=0

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女