Shell 流程控制
if 判断
if 语句语法格式:
if condition then command1 command2 ... commandN fi
例如: if [ $(ps -ef | grep -c "ssh") -gt 1] ; then echo "true" ; fi
if else-if else
if else-if else 语法格式:
if condition1 then command1 elif condition2 then command2 else commandN fi
for 循环
for循环一般格式为:
for var in item1 item2 ... itemN do command1 command2 ... commandN done
写成一行:
for var in item1 item2 ... itemN; do command1; command2… done;
while 语句
while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。其格式为:
while condition do command done
until 循环
until 循环执行一系列命令直至条件为 true 时停止。
until 循环与 while 循环在处理方式上刚好相反。
一般 while 循环优于 until 循环,但在某些时候—也只是极少数情况下,until 循环更加有用。
condition 一般为条件表达式,如果返回值为 false,则继续执行循环体内的语句,否则跳出循环。
case
Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令。case语句格式如下:
case 值 in 模式1) command1 command2 ... commandN ;; 模式2) command1 command2 ... commandN ;; esac
until 语法格式:
until condition do command done
跳出循环
在循环过程中,有时候需要在未达到循环结束条件时强制跳出循环,Shell使用两个命令来实现该功能:break和continue。