許多程序要求對shell腳本中的命令施加一些邏輯流程控制。有一類命令會根據條件使腳本跳過某些命令。這樣的命令一般稱爲結構化命令(structured command)。shell
結構化命令容許你改變程序執行的順序。在bash shell中有很多結構化命令,基本的結構化命令就是if-then語句,if-then語句能夠有兩種格式bash
第一種:spa
1 if command 2 then 3 commands 4 fi
第二種:命令行
1 if command;then 2 commands 3 fi
舉例1code
舉例2htm
舉例3blog
舉例4get
if語句行使用grep命令在/etc/passwd文件中查找某個用戶名當前是否在系統上使用。若是有用戶使用了那個登陸名,腳本會顯示一些文本信息並列出該用戶HOME目錄的bash文件。class
可是,若是將testuser變量設置成一個系統上不存在的用戶,則什麼都不會顯示。
1 if command 2 then 3 command 4 else 5 command 6 fi
舉例1
舉例2
1 if command 2 then 3 command 4 elif command 5 then 6 command 7 elif command 8 then 9 command 10 else 11 command 12 fi