通過shell進行數學運算的多種方式_linux shell

來源:互聯網
上載者:User

在Bash中, bash的數學運算有點彆扭,很難適應和記住, 只好寫個博文, 方便以後翻翻看. 有四種方式可以進行數學運算:

一、let命令

複製代碼 代碼如下:

#/bin/bash
num1=13
num2=14
let sum=$num1+$num2

echo $sum

#自增
let sum++

#自減
let sum--

#簡寫形式
let sum+=1
let sum-=2

#順便吐槽下,let sum=(1+3)*(2+2)居然不行, 果然很爛有沒有!

二、 $[]形式

複製代碼 代碼如下:

#!/bin/bash
sum = $[99+88]

#[]也使用變數
num1=11
num2=22
sum=$[$num1+$num2]

三、 $(())方式

複製代碼 代碼如下:

#!/bin/bash
sum=$((1+2))

# $(())裡可以使用()進行優先順序運算安排
sum=$(( (1+2)*3 ))
echo $sum #9

四、 另外還可以使用expr命令, 這個命令需要運算元與操作符號有空

複製代碼 代碼如下:

#!/bin/bash
expr 3 + 4 #7

sum=`expr 33 + 44`#33後有空格, "+" 後有空格, 要是寫的是 sum=`expr 3+4`, echo $sum將會是33+44
echo $sum #77

上面4種方式不支援浮點數運算,要進行浮點數運算的話, 應該使用bc命令,文法格式比較簡單:

複製代碼 代碼如下:

#!/bin/bash

sum=`echo 222.222+333.333 | bc`
echo $sum

#sum=`echo 12.228222+(22222*2) | bc`居然不行, 果斷鄙視之.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.