shell腳本編程基礎--算術運算與邏輯運算

一、 命令之間的邏輯關係:

邏輯與:&&,前一個表達式爲假,結果爲假;第二段不用再做判斷,即第二段不再運行。前一個表達式爲真,接着運行下一個表達式,如果下一個表達式也爲真,則結果爲真。   

總結:兩個表達式運行與運算,兩個表達式爲真,則結果爲真;否則爲假。   

  

邏輯或:||,前一個表達式爲真,結果爲真,第二段不再做判斷。第一個表達式爲假,則運行下一個表達式,第二個表達式爲假,結果爲假,第二個表達式爲真,結果爲真。

總結:兩個表達式運行或運算,有一個表達式爲真,則結果爲真;兩個表達式都爲假,則結果爲假。


   例題:

[ $FINLINES -gt 100 ] && echo "/etc/inittab is a big file."  ||     echo "/etc/inittab is a small file"

---------1-----------           ---------------2----------------            -------------3-------------------


說明:1爲真時,會執行2;1和2相與的結果是真,後面是或操作,即第3段不再執行

           1爲假時,後面是與操作,不執行第2段,1和2相與結果是假,後面是或,執行第3段




二、 算術運算


shell中如何進行算術運算:shell本身把所有的變量都看成字符。如果要進行算術運算,需要進行額外處理。 乘法符號,使用*,有時可能需要轉義。

所有下面這些結果,可以使用echo $C  來查看變量C的結果。

1.   let 算術運算表達式

A=3

B=6

let   C=$A+$B     #  let做算術運算,加減乘除


2. $[算術運算表達式]

     C=$[$A+$B]


3. $((算術運算表達式))

    C=$(($A+$B))


4. expr  算術運算表達式,表達式中各操作數及運算符之間要有空格,而且要使用命令引用 

    C=`expr  $A + $B `

    D=$(expr $A + $B)   # 在這裏,運算符的兩邊要有空格。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章