Linux學習筆記(6)——shell(3)

一、Shell流程控制

1.if else

(1)if語句語法格式:

if condition

then

   command1

   command2

   …….

   commandN

fi

(2)if else 語法格式:

if condition

then

   command1

   command2

   …….

   commandN

else

   command

fi

(3)if else-if else 語法格式

if condition

then

   command1

   command2

   …….

   commandN

elif

   command

else

   command

fi

2.for 循環

for var in item1 item2…

do

   command1

   command2

   …….

   command

done

3.while 語句

while  condition

do

command

done

4.until循環

until循環執行一系列命令直至條件爲真時停止。與while循環的處理方式相反。只是會執行一次。

語法:

until condition

do

   command

done

5.case 語句

case 值 in

模式1)

     Command1

     Command2

     …

     CommandN

     ;;

模式2)

     Command1

     Command2

     …

     CommandN

     ;;

esac

例:

運行結果:

esac 作爲結束標記,每個case分支用右圓括號,用兩個分號表示break。

6.跳出循環

   break命令 允許跳出所以循環(終止執行後面的所有循環)

   continue命令 與break命令類似,但它不會跳出所以循環,僅跳出當前循環。

二、Shell函數

函數定義格式:

[ function ] funname [ ( ) ]

{

   action;

   [ retuen int ; ]

}

說明:

  •   1.可以寫成function fun(),也可直接用fun()定義,不帶任何參數。
  •   2.參數返回,可以顯示加:return 返回,如果不加,將以最後一條命令運行結果,作爲返回值。 return 後跟數值 n(0-255)

例1:不帶 return

執行結果:

例2:帶return

執行結果:

函數返回值在調用該函數後通過$? 來獲得。

注意:所有函數在使用前必須定義。在調用函數時僅使用其函數名即可。

函數參數

調用函數時可以向其傳遞參數。在函數內部通過$n的形式來獲取參數的值。

例:

執行結果:

注:$# :傳遞到腳本的參數個數

$* :以一個單字符串顯示所有向腳本傳遞的參數

三、Shell 輸入/輸出重定向

重定向命令:

Command > file           將輸出重定向到file

Command < file           將輸入重定向到file

Command >> file          將輸出以追加的方式重定向到file

n > file                  將文件描述符爲n的文件重定向到file

n >> file                 將文件描述符爲n的文件以追加的方式重定向到file

n > & m                 將輸出文件m和n合併

n < & m                 將輸入文件m和n合併

<< tag                   將開始標記tag和結束標記tag之間的內容作爲輸入

注意:文件描述符 0 通常爲 標準輸入,1是標準輸出,2是標準錯誤輸出。

 

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