14 我是否正确地假设,当;在一条线上连接两个命令时,Bash总是等到第一个命令退出后才执行第二个命令?同样,在shell脚本中,在不同的行上包含两个不同的命令,Bash总是等到第一行的命令退出后才在第二行执行命令? 如果是这种情况,是否可以在一行或一个脚本中执行两个命令,以使第二个命令不等到第一个命令完成后再执行? 另外,shell脚本中的不同行是否等效于由;或分隔的单独行&&? bash — 艾玛 source 1 您可能对Shell的控制和重定向运算符有什么兴趣?。 — terdon
26 没错,脚本中的命令默认情况下会顺序执行。 您可以在命令后缀&(一个&号)在后台运行命令。 在单独的行上的命令等效于;默认情况下与之合并的命令。如果您告诉外壳程序退出非零退出代码(set -e),则脚本将像执行所有命令一样与一起执行&&。 — 斯蒂芬·基特 source
2 要回答第二个问题,您可以用来&在后台启动命令并继续执行脚本,而不必等待脚本完成。 commandA & commandB 如果在交互式终端(而不是脚本)上运行此fg命令,则可以用来使后台命令重新成为焦点,或者jobs查看后台任务列表。 — 催眠器 source