1、Shell流程控制
sh的流程控制不可为空。如果分支没有语句执行,就不要写分支了
if else
if语法:if condition
then command
fi
if else语法:if condition
then command
else command
fi
if else-if else语法:if condition1
then command
elif condition2
then command
else
command
fi
for
for var in item1 item2 ,,,itemn
do
command
done
等同于 for var in item1 item2 ... itemN; do command1; command2… done; 当变量值在列表中执行一次所有的命令
顺序输出当前列表中的: for loop in 1 2 3 4 5 ;do command;done
while 用于不断的执行一系列的命令,也可用于从输入文件中读取数据,通常为测试条件
while condition
do
command
done
util循环:该循环执行一系列条件直至条件为true时停止;以下condition为条件表达式,如果返回值为false,则继续执行循环体内的语句,否则跳出循环
util condition
do
command
done
case 语句为多选择语句,可以用case语句匹配一个值与一个模式,如果匹配成功,则执行匹配的命令;如果没有一匹配模式则使用*捕获该值,执行后面的命令
case 值 in
模式1)
command
模式2)
command
跳出循环:有时候需要在未达到循环结束条件的时候强制跳出循环:break和continue,break循环先允许跳出所有的循环(中止执行后面的所有循环);continue仅仅跳出当前循环
esac:case的结束标记