Shell Scripts条件判断
if… then
单层,简单条件判断:
if [ 条件表达式 ]; then
#当条件成立时可以进行的指令
fi
多重,复杂条件判断:
if [ 条件表达式 ]; then
#当条件成立时可以进行的指令
else
#当条件不成立时可以进行的指令
fi
如果考虑更复杂的情况,还可以加上elif
if [ 条件表达式1 ]; then
#当条件1 成立时可以进行的指令
elif [ 条件表达式2 ]; then
#当条件2 成立时可以进行的指令
else
#当条件都不成立时可以进行的指令
fi
case …esac
case $变量名称 in
"模式1"|"模式2"|"模式3") <====== 这里结束括号)代表该次模式内容设置结束
#当变量符合模式1,2,3当中任意一个时,可以执行的命令
;; <====== 这里双分号代表该次模式匹配结束
"模式4")
#当变量符合模式4时,可以执行的命令
;;
*) <====== *)代表除上述模式外其他所有模式
#除上述模式外的所有模式下可以执行的命令
;;
esac
下面我们写一个简单的脚本来练习一下
#!/bin/bash
# Program:
# Program shows how the case ....esac clause works.
# History:
# yyyy/mm/dd Shuu First release
case ${1} in
"hello"|"haha")
echo "Hello World!"
;;
"")
echo "You must input some word for example: ${0} someword"
;;
*)
echo "blabla...."
;;
esac
这里指的注意的是${1}和${0},带上花括号即表示这里的1和0都是变量,而不是单纯的数字。