[shell]shell運算

來源:互聯網
上載者:User

標籤:style   blog   使用   strong   2014   div   linux   log   

算術運算

首先這裡所說的算術運算是指加法(+), 減法(-),乘法(*),整除(/), 求餘(%)四種運算,可以通過添加括弧改變優先順序,並且只能對整數進行運算(Linux Bash Shell預設不支援浮點數運算)

#!/bin/bashval=`expr 2 + 2` #expr 參數要為整數echo "Total value : $val"a=10b=-5c=`expr $a + $b` #+前後空一格,否則輸a+b=10+20echo "a+b=$c"c=`expr $a - $b`echo "a-b=$c"c=`expr $a \* $b` #必須在*前加\才能實現乘法,因為 * 有其它意義echo "a*b=$c"c=`expr $a / $b`echo "a/b=$c"if [ $a == $b ] #在[]和==前後要有一空格,且必須有[]then    echo "a = b"fiif [ $a != $b ]then  #then需要另啟一行,不能與if在同一行    echo "a!=b"filet "sum=3+6"echo $sumsum=$(( 7 * 8 ))echo $sum
要在Linux Bash Shell中進行算術運算,有三種寫法

一、使用let命令 

let "sum=3+5"    # sum <- 8let "sum=3*5"    # sum <- 15 let "sum=2/5"    # sum <- 0 let "sum=11/5"   # sum <- 2 let "sum=11%5"   # sum <- 1 let "sum=-6-9"   # sum <- -15let "sum=(-6-9)*5"  # sum <- -75

注意, 等號右邊以及運算子和括弧的兩邊都不能有空格

二、使用expr命令  

sum=`expr 2 - 5`     # sum <- -3sum=`expr 2 + 5`     # sum <- 7 sum=`expr 3 \* 5`    # sum <- 15sum=`expr 3 / 5`     # sum <- 0 sum=`expr 7 / 5`     # sum <- 1sum=`expr \( 2 - 3 \) \* 6`   # sum <- -6 sum=`expr 2+4`       # sum <- 2+4sum=`expr 2-4*6·     # sum <- 2-4*6sum=`expr 1-(5-8)`   # sum <- 1-(5-8)
注意: 乘號(*), 左括弧( , 右括弧)必須使用反斜線(\)轉義expr右邊以及運算子和括弧的兩邊必須有空格; 如果採用緊湊的寫法(緊湊格式可以不對*, (, )進行轉義), 則返回算術運算式.

三、使用(( ... )) 的形式  

sum=$((3+5))           # sum <- 8 sum=$(( 3 - 5 ))       # sum <- -2 sum=$(( 3 * 5 ))       # sum <- 15sum=$(( 7 / 5 ))       # sum <- 1 sum=$(( 7 % 5 ))       # sum <- 2 sum=$(( (1 - 2 )  * 4 ))   # sum <- -4

這種寫法比較自由,無需對運算子和括弧做轉義處理,也可以採用鬆散或緊湊的格式. 

布爾運算
#!/bin/sha=10b=200#-o 或運算 or #-a 與運算 andif [ $a != $b ]then   echo "$a != $b : a is not equal to b" fiif [ $a -lt 100 -a $b -gt 15 ]then   echo "$a -lt 100 -a $b -gt 15 : returns true" fiif [ $a -lt 100 -o $b -gt 100 ]then   echo "$a -lt 100 -o $b -gt 100 : returns true" fi 


相關文章

聯繫我們

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