shell算數運算

來源:互聯網
上載者:User

標籤:shell   算術運算   expr   let   

咖啡喝多了.估計今夜無眠了.媽蛋.

shell的算數運算.有太多了.包括很多網上可以下載到的工具.數不勝數.本文只選取常用的進行介紹.

1. $[ ] 這個可能用得比較少.包括我自己第一次見到這個一個東西的時候也很好奇.不過還真的能夠達到效果.僅限於整形.不能用來計算浮點數.

缺點是計算有局限性.貌似職能計算加減乘除和模運算.

注:**表示的是冪運算.

2. $(()) 我喜歡把這個叫做C語言模式.無論是在條件判斷或者迴圈中,還是放在這裡.變數都沒有限制.僅限於整形,浮點數不能用這個運算式.

3. let命令.顧名思義就是讓var1=[...].之所以這樣理解,是因為let的左值和右值都在let的右邊.僅限於整形.浮點數不能用.

注意空格,let後面的運算式不能有空格.

4. expr命令.和let不同.左值在expr左邊,右邊是運算式.僅限於整形,浮點數不能用.

注意空格,expr後面的參數之間必須有空格.

希望上面的例子不會產生誤導.那些運算僅僅是我所知道的.其實還可以有其它的運算,比如位元運算.

以上的命令我們可以看到一個共同點,那就是不能計算浮點數,且運算能力有限.可是現實中這幾個簡單的功能遠遠不能滿足我們的需求.怎麼辦.

當然同學們可以網上去找一個計算機,甚至帶UI介面都可以.這裡推薦一款super強大的電腦:bc

據說沒有它完成不了的運算.不知道是不是真的.

5. bc  不同於上面的命令,它從標準輸入接收運算式,然後把結果輸出到標準輸出.

其實對於bc我所知道的也就這麼幾個.很多都得靠man來尋找.而取進位這個功能,貌似man都找不到.我是在網上搜很久才找到的.也就是obase和ibase,二者分別代表輸出的進位和輸入的進位.

bc支援條件判斷,移位操作.實現了部分函數.設定可以使用for等流程式控制制語句.可謂博大精深啊.無奈我值掌握了皮毛.

當然linux下的計算命令遠不止這些,比如還可以輸入calc.會彈出字元介面進行運算.只是我僅僅積累了這幾種方式.

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.