天天看點

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 `

繼續閱讀