Shell 流程控制
判断
if-elif-else-fi
if condition
[ condition ... ]
then
statements-if-true-1
[ elif condition
[ condition ...]
then
statements-if-true-2
...]
[ else
statements-if-all-else-fails ]
fi
注: 方括号中的内容非必须。
逻辑!、&&与||
if ! condition
then
: #冒号类似空操作
else
statements
fi
if cond1 && cond2
then
statements
fi
if cond1 || cond2
then
statements
fi
注: 以上逻辑操作支持短路功能。
test 命令
一般使用test的退出状态,其等效[ … ]。
case
case $var in
cond1)
....
;; #本选项结束
cond2)
....
;;
*)
.... #不需要;;
esac
循环
for
for i in list
do
statements
done
>
注: list省略则表示遍历整个命令行参数
while
while cond
do
statements
done
until
until cond
do
statements
done
**注:**until后面cond未成功退出,则循环继续。
break与continue
break 与 continue控制循环的流程,类似于C语言,比起C语言,shell提供多层结束和多层跳出。
break num
continue num
参考:
1、Shell脚本学习指南。