同时运行三个shell脚本

时间:2012-10-16 04:52:56

标签: bash shell

我有三个shell脚本,我正在运行如下 -

sh -x script1.sh

sh -x script2.sh

sh -x script3.sh

因此,在前一个脚本完成执行后,每个脚本按顺序执行一次。

问题陈述: -

有没有办法可以从一个窗口同时执行上述三个脚本? 我只想同时执行script1,script2,script3。如果你想到一些CRON JOB调度script1 at 3 AM, script2 at 3AM, script3 at 3AM(所有三个脚本同时,同时)。这就是我需要的,我需要同时执行所有三个脚本。

4 个答案:

答案 0 :(得分:30)

你想要这个吗?

$ sh -x script1.sh & sh -x script2.sh & sh -x script3.sh &

更新说明:

  • 以后台模式运行每个脚本,以便在不等待当前命令完成的情况下运行下一个命令。
  • '&'使脚本在后台运行,以便提示不等待它完成
  • '&'也可用于在一行上链接命令,类似于在命令行上逐个运行命令。

答案 1 :(得分:6)

使用GNU Parallel,您可以:

parallel sh -x ::: script1.sh script2.sh script3.sh

如果脚本是可执行的,那么你甚至可以这样做:

parallel ::: script1.sh script2.sh script3.sh

观看介绍视频以了解详情:https://www.youtube.com/playlist?list=PL284C9FF2488BC6D1

10秒安装:

wget -O - pi.dk/3 | bash

答案 2 :(得分:5)

&允许进程在后台运行。

sh -x script1.sh &
sh -x script2.sh &
sh -x script3.sh &

答案 3 :(得分:4)

不确定您要完成的是什么,但您可以创建一个调用这些3的脚本,或者通过添加“&”将它们发送到后台。最后。

sh -x script1.sh &
sh -x script2.sh &
sh -x script3.sh &