首先,值得提一下的是,在Bash里,最小的执行单位应该是pipeline. Bash支持对pipelines进行组合,产生顺序、条件、循环等结构。每个pipeline在其自己的subshell中执行,有自己的PID. 但是为了方便,在这里介绍顺序、条件、循环结构时,不刻意强调是由pipeline组成,依旧以命令(command)视为基本单元
顺序结构
用;分隔的顺序结构
$ command1;command2
以;分隔的命令按顺序执行。
Shell会依次等待每个命令执行终止,即每个命令都在自己的subshell中执行。Shell会在上一个命令执行完后再执行下一个命令,无论上一个命令的exit status是多少。
return status是最后执行的命令的exit status。
;可以被换行符代替,而且可以被连续多个换行符代替。但是注意,多个换行符只等效于一个; .即如下形式,和上面的结构等价。
command1
command2
command1
command2
下面的结构也合法,效果也相同。但这里;的作用是comand1的终止符,而不是分隔符。
com