如果一个命令以&结尾,那么这个命令会在子shell中异步执行,也被称为异步命令。当前shell不用等到子shell执行完成,这个异步命令的返回状态永远是0 ( 表示成功 )。
如果多个命令通过;分隔,那么这些命令顺序执行,当前shell会等到所有命令执行完毕。这个命令集的返回状态就是最后一个命令的退出状态。
如果多个命令通过&&分隔,例如 command1 && command2,只有当 command1 命令的退出状态为0时,才会执行 command2。
如果多个命令通过||分隔,例如 command1 || command2,只有当命令 command1 退出状态非0时,command2 才会被执行。
&&和||有相同的优先级,&和;有相同的优先级,但是&&和||的优先级比&和;要高。
参考
https://www.gnu.org/software/bash/manual/bash.html#Lists
本文详细解释了Shell脚本中不同命令控制结构的功能与用法,包括异步命令、顺序命令集、条件命令序列以及备选命令序列。通过这些结构可以实现复杂的流程控制逻辑。
766

被折叠的 条评论
为什么被折叠?



