流程控制语句

在shell中如果在终端输入多个命令,如果以&分隔则将命令放入后台执行,如果以;分隔,则表示一个命令集合。shell允许使用逻辑操作符&&和||来作为命令分隔符,他们分别时AND和OR.

&&

如果前面命令执行成功,则执行&&后面的命令

||

如果前面的命令执行失败,执行||后面的命令

if 语句

条件判断语句

if语句是一个判断语句,基于条件执行命令,格式如下: if语句必须以fi结尾。

COMMANDS 可以是单个命令、命令组、表达式。if语句根据他们的执行结果或条件表达式来执行命令。

命令

根据命令的执行结果(exit status)来执行命令。

如果ls的exit status等于0 命令组

当一次需要执行多个命令时可以以组为单位执行,命令组可以使用(COMMANDS;...)和{ COMMANDS;....; }来表示。

使用小括号(COMMANDS;....)来包裹命令时,命令会在一个子shell环境中执行,它的执行状态为COMMANDS中的最后一个命令的执行状态。

使用大括号{ COMMANDS;....; }来包裹命令时,括号前后必须要有空格,命令与命令使用;分隔,最后一个命令的执行状态作为命令组的执行状态。

示例:

if...;then ...;else ...;fi语句

使用 if....else 语句在条件为 true 时执行代码,在条件为 false 时执行其他代码。

语法:

示例:

if ... elif ...else fi语句

使用 if....else if...else 语句来选择多个代码块之一来执行。