10、bash腳本編程之程序語句選擇執行
順序執行:從上至下一次執行
選擇執行:
邏輯關系:&&、||、!
if語句
單分支if語句
雙分支if語句
多分支if語句
case語句
循環執行:
2、if語句格式:
2.1、單分支if語句語法: if CONDITION ;then IF-TRUE-STATEMENT fi 或: if CONDITION then IF-TRUE-STATEMENT fi | 2.2、雙分支if語句語法: if CONDITION;then IF-TRUE-STATEMENT else IF-FALSE-STATEMENT fi | 2.3、多分支if語句語法: if CONDITION1;then IF-TRUE1-STATEMENT elif CONDITION2;then IF-TRUE2-STATEMENT elif CONDITION3;then IF-TRUE3-STATEMENT elif CONDITION#;then IF-TRUE#-STATEMENT else OTHER-STATEMENT fi 註意:如果沒有else語句,而所有條件又都不滿足,則不會執行任何一條語句。 即使有多個條件可能同時滿足,但只會執行最先匹配到的那個條件的語句 |
示例:通過腳本參數傳遞一個文件路徑給腳本,判斷此文件的類型;
[root@localhost ~]# cat type.sh
#!/bin/bash
if [ $# -lt 1 ];then
echo "at least a arg"
fi
if ! [ -e $1 ];then
echo "no such file"
fi
if [ -b $1 ];then
echo "binary file"
elif [ -d $1 ];then
echo "directory file"
else
echo "other file"
fi
[root@localhost ~]#
註意:case語句是簡化版的多分支if語句,但不是每個多分支if語句都可以寫成case語句。
if語句可以嵌套。
10、bash腳本編程之程序語句選擇執行