Shell脚本执行是否同步?

Shell脚本执行是否同步?,shell,sh,Shell,Sh,默认情况下,Shell脚本的执行在行为上是同步的 Script1 Script2 我有一个脚本1,将需要超过4分钟完成,下一个工作是依赖于此。(类似于生产者和消费者的问题) 想知道script2是否等待script1完成执行。虽然我不完全确定您想知道什么,但这里有一些常见的事情 您可以并行运行脚本-将它们发送到后台,如: script1 & script2 & script3 & 所有3个脚本将“并行”运行 现在可能是您想要知道的-串行执行,当第二个依赖于第一个时 它

默认情况下,Shell脚本的执行在行为上是同步的

Script1
Script2
我有一个脚本1,将需要超过4分钟完成,下一个工作是依赖于此。(类似于生产者和消费者的问题)


想知道script2是否等待script1完成执行。

虽然我不完全确定您想知道什么,但这里有一些常见的事情

您可以并行运行脚本-将它们发送到后台,如:

script1 &
script2 &
script3 &
所有3个脚本将“并行”运行

现在可能是您想要知道的-串行执行,当第二个依赖于第一个时

它是通过
管道
机制实现的。想象一下:

long_running_script_what_produdes_lines | wc -l
两个程序同时运行,
wc
等待
long\u running\u script\u产生的行数
的输出,并计算所有行数

这里还有其他
IPC
(进程间通信)方法(例如命名管道、信号)


如果您需要了解其他内容,请重新表述问题。

我不确定您在问什么,您能重新表述一下吗?脚本运行一系列命令。如果需要,这些命令可以是“后台的”,但默认情况下不是这样。那么
&&
呢?当在终端中运行命令时,如果我想让它们串行化,我将使用&&T。就像有了
goto='cd to/some/folder'
的别名一样-然后我可以做
goto&&cd/folder
。不知道这在
.sh
纸条中是否相同?