我正在尝试运行一个 shell 脚本jeykll -w serve
,sass --watch style.scss:style.css
所以每次我想在本地开发时都不必担心。所以我做了一个shell脚本,但很明显,如果我把jekyll命令放在第一位,在jekyll完成之前它不会运行sass。那么如何同时运行两个命令呢?我是否必须发出命令才能在终端中打开另一个选项卡然后运行 sass?必须有更好的方法来做到这一点。
问问题
6205 次
1 回答
4
您正在寻找分叉该进程,因此当前 shell 不会等待我假设的命令。
jeykll -w serve && sass --watch style.scss:style.css
以上将等待第一个命令以非错误状态完成
jeykll -w serve ; sass --watch style.scss:style.css
以上将等待第一个命令完成并忽略退出状态。
因此,如果我理解正确,您希望多个命令同时运行。为此,您在命令引用的末尾使用 & 运算符。
Bash & (&) 是一个用于分叉进程的内置控制运算符。在 Bash 手册页中,“如果命令被控制运算符 & 终止,则 shell 在子 shell 的后台执行命令”。
jeykll -w serve &
sass --watch style.scss:style.css &
于 2013-10-19T20:44:16.797 回答