一、if语句

格式:

if COMMANDS; then COMMANDS; [ elif COMMANDS; then COMMANDS; ]... [ else COMMANDS; ] fi

单分支:

if 判断条件;then

条件为真的分支代码

fi

双分支:

if 判断条件; then

条件为真的分支代码

else

条件为假的分支代码

fi

多分支:

if 判断条件1; then

条件1为真的分支代码

elif 判断条件2; then

条件2为真的分支代码

elif 判断条件3; then

条件3为真的分支代码

...

else

以上条件都为假的分支代码

fi

说明:

多个条件时,逐个条件进行判断,第一次遇为“真”条件时,执行其分支,而后结束整个if语句

if 语句可嵌套

二、条件判断 case 语句

  格式:

case WORD in [PATTERN [| PATTERN]...) COMMANDS ;;]... esac

case 变量引用 in

PAT1)

分支1

;;

PAT2)

分支2

;;

...

*)

默认分支

;;

esac

case支持glob风格的通配符:

*: 任意长度任意字符

?: 任意单个字符

[]:指定范围内的任意单个字符

|:   或,如 a或b

范例:

read -p "Do you agree(yes/no)? " INPUT

INPUT=`echo $INPUT | tr 'A-Z' 'a-z'`

case $INPUT in

y|yes)

     echo "You input is YES"

    ;;

n|no)

     echo "You input is NO"

    ;;

*)

     echo "Input fales,please input yes or no!"

esac