和 Java、PHP 等措辞不一样,sh 的流程掌握不可为空。
在 sh/bash 里可不能这么写,如果 else 分支没有语句实行,就不要写这个 else。
if 语句语法格式:

if conditionthen command1 command2 ... commandN fi
写成一行(适用于终端命令提示符):
if [ $(ps -ef | grep -c "ssh") -gt 1 ]; then echo "true"; fi
末端的 fi 便是 if 倒过来拼写,后面还会碰着类似的。
if elseif else 语法格式:
if conditionthen command1 command2 ... commandNelse commandfi
if else-if else
if else-if else 语法格式:
if condition1then command1elif condition2 then command2else commandNfi
for 循环
与其他编程措辞类似,Shell支持for循环。
for循环一样平常格式为:
for var in item1 item2 ... itemNdo command1 command2 ... commandNdone
写成一行:
for var in item1 item2 ... itemN; do command1; command2… done;
while 语句
while 循环用于不断实行一系列命令,也用于从输入文件中读取数据。其语法格式为:
while conditiondo commanddone
until 循环
until 循环实行一系列命令直至条件为 true 时停滞。
until 循环与 while 循环在处理办法上刚好相反。
一样平常 while 循环优于 until 循环,但在某些时候—也只是极少数情形下,until 循环更加有用。
until 语法格式:
until conditiondo commanddone
case ... esac
case ... esac 为多选择语句,与其他措辞中的 switch ... case 语句类似,是一种多分枝选择构造,每个 case 分支用右圆括号开始,用两个分号 ;; 表示 break,即实行结束,跳出全体 case ... esac 语句,esac(便是 case 反过来)作为结束标记。
可以用 case 语句匹配一个值与一个模式,如果匹配成功,实行相匹配的命令。
case ... esac 语法格式如下:
case 值 in模式1) command1 command2 ... commandN ;;模式2) command1 command2 ... commandN ;;esac
我会持续更新关于Linux干系技能的文章,用最大略的措辞描述繁芜的技能,欢迎大家不雅观看,有问题或者想学的私信我~~