作为较长脚本的一部分在后台运行进程

Running a process in the background as part of a longer script

给定以下 bash 脚本,我希望在后台运行第二步(http-server 调用)。

以下内容似乎是在 grunt 调用成功完成之前创建后台进程,这是意外的。

grunt build && http-server ./dist/artifacts -p 11111 &

我希望 grunt 步骤运行到成功完成,然后在后台运行时调用 http-server。

我做错了什么?

您可以使用 { } 围绕您想要作为背景的部分:

grunt build && { http-server ./dist/artifacts -p 11111 & }

花括号在 && 之后围绕命令创建一个块,这意味着 & 仅作为背景。

advanced bash scripting guide 中有更多关于使用 { } 的内容。