shell學習筆記之四(整數運算)

來源:互聯網
上載者:User

標籤:shell   整數運算   運算子   

算數運算子        shell只支援整數運算        常見的算數運算大多結合shell的內建命令let來使用。        + - * / % **(冪運算)        += -= *= /= %=    位元運算        >> << & | ^ ~    自增自減        ++ --         例:            let "b=3"            let "a=(++b)"其他算數運算    簡單的算數運算過程中,如果有一個值是字元的,那麼解析為0    如R+2=2    1、使用$[]作運算        1、到目前看到的$這樣的形式有:${}(數組) $[](算數運算) $()(命令替換)        2、和$(())類似,可用於簡單的算數運算            例:                echo $[1+1]                echo $[2-1]                echo $[2*2]                echo $[5/2];//捨棄小數                echo $[5%2]                 echo $[3**2]    2、使用expr作運算        1、用於整數運算        2、要求運算元和運算元之間用空格隔開,否則只會列印字串,所以特殊的操作符需要逸出字元轉義(比如*)        expr 1 + 1        expr 2 - 1        expr 2 \* 2        expr 2 / 1          如果編程的時候習慣了運算子兩邊有空格,這種運算方式還是不錯的,當然要注意“*”需要轉義    3、使用內建命令declare        當用declare定義成整形後,將後面的字串解析成了算數運算        例:            delcare -i num            num=1+3            echo $num      注意:        shell中的算數運算要求運算子和運算元之間不能有空格,而是緊密連結的,特殊符號在這裡不用轉義,如果算木運算式中含有其他變數也不需要$引用。    4、算數擴充        算數擴充是shell提供的整數變數的運算機制,是shell的內建命令之一。        基本文法:$((算數運算式))        其中,算數運算式由變數和運算子組成,常見的用法是顯示輸出和變數賦值。若運算式中的變數沒有定義,則在運算中假設為0(不會真給該變數賦值為0)        例:            i=2            echo $((i*3+3)) #i前沒有$符號            echo $((2*(i+2))) #用括弧改變運算優先順序    5、使用bc作運算        上述幾種運算都是基於整數的。        bc:一款高精度計算語言        直接輸入bc,斷行符號進入bc介面        1、預設情況下bc並不顯示小數,通過scale=number設定顯示的小數位元。        2、bc支援算數運算,邏輯運算,比較運算            3、支援批處理和以管道方式處理運算式計算                例:                1、#cat cal.bc                   a=2;b=5;a+b;                   #cat cal.bc|bc                2、echo "2+3"|bc

shell學習筆記之四(整數運算)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.