在后台命令执行后执行一个 shell 命令

aaj*_*aaj 1 bash shell

我有 2 个命令通过 shellcommand1command2. command1 需要很长时间才能完成(约 2 分钟)。所以我可以使用它在后台运行&,但之后我想自动执行command2。我可以在 shell 命令行上执行此操作吗?

Jef*_*ner 5

尝试:

( command1; command2 ) &
Run Code Online (Sandbox Code Playgroud)

编辑:更大的 PoC:

演示.sh:

#!/bin/bash

echo Starting at $(date)
( echo Starting background process at $(date); sleep 5; echo Ending background process at $(date) ) & 
echo Last command in script at $(date)
Run Code Online (Sandbox Code Playgroud)

运行demo.sh:

$ ./demo.sh
Starting at Thu Mar 1 09:11:04 MST 2018
Starting background process at Thu Mar 1 09:11:04 MST 2018
Last command in script at Thu Mar 1 09:11:04 MST 2018
$ Ending background process at Thu Mar 1 09:11:09 MST 2018
Run Code Online (Sandbox Code Playgroud)

请注意,脚本在“脚本中的最后一个命令”之后结束,但后台进程在 5 秒后执行了“结束后台进程”回显。(...)& 结构中的所有命令都是串行运行的,但都集中到后台。