while特殊用法
while read 變量名;do
循環體
done<文件路徑(將文件中的每一行依次讀入循環體,賦值給變量)
(())可以實現C語言風格的變量操作
for循環特殊格式
for((控制變量初始化;條件判斷表達式;控制變量修正表達式))
do
循環體
done
控制變量初始化僅在循環開始時執行一次,進行條件判斷成立后執行循環體,再執行控制變量的修正,然后再條件判斷,知道條件不滿足為止。
select用法
select 變量名 in列表
do
循環體命令
done
select是一個無限循環命令,要用break或exit退出循環或腳本。
select主要用于創建菜單并按照順序輸出,格式由PS3變量定義
select可以根據用戶的選擇執行相應的命令,用戶的輸入被保存再REPLE變量中
select經常與case變量一起使用
select中 in list可以省略,此時則自動讀取位置變量
函數:函數是由若干條命令組成的語句塊,有利于代碼的重復利用和模塊化編程
函數與shell程序相似,不同的是函數不是一個單獨的進程,不能獨立運行,而且shell程序是在子shell中進行,而函數則是在當前shell中運行,所以函數運行會改變當前shell中的變量值
函數的格式
1、 function 函數名{
函數體
}
2、 function 函數名(){
函數體
}
3、 函數名(){
函數體
}
函數的定義和使用:
可在交互式環境下定義函數
可將函數放在腳本文件中作為它的一部分
可放在只包含函數的單獨文件中 ?
函數的調用:函數只有被調用才會執行;
調用:給定函數名 函數名出現的地方,會被自動替換為函數代碼 ?
函數的生命周期:被調用時創建,返回時終止
函數有兩種返回值,一種是命令的執行結果,另一種是命令執行結果狀態碼
命令的執行結果可以用printf或echo進行輸出,也可以進行調用
函數的退出狀態碼,默認是函數最后一條命令的執行結果,也可以用return進行自定義
函數必須先定義再進行調用
函數定義在一個單獨的文件里可以通過.或source進行調用,但只對當前shell有效,對子shell也無效。
局部變量:在函數體內部定義的局部變量只在當前函數體內部有效,離開函數體自動失效,若腳本中有同名的本地變量或環境變量也優先使用局部變量
局部變量定義方法 locate 變量名=值
函數的遞歸:通過函數直接或間接的調用自身實現
原創文章,作者:zzzzz1357x1,如若轉載,請注明出處:http://www.www58058.com/38542
對while、for等循環語句的語法總結的很細致,同時函數部分的用法也很詳細,可以在文章中穿插練習中的腳本,并總結好需要注意的地方,這是經驗,課后練習需要認真對待。