2

私はシェル スクリプトを実行しようとしているjeykll -w serveのでsass --watch style.scss:style.css、ローカルで開発するたびに心配する必要はありません。そこでシェルスクリプトを作ってみたのですが、明らかに最初に jekyll コマンドを入れると、jekyll が完了するまで sass は実行されません。では、一度に 2 つのコマンドを実行するにはどうすればよいでしょうか。ターミナルで別のタブを開いて sass を実行するコマンドを作成する必要がありますか? それを行うためのより良い方法があるはずです。

4

1 に答える 1

4

現在のシェルが私が想定するコマンドを待機していないように、プロセスをフォークしようとしています。

jeykll -w serve && sass --watch style.scss:style.css

上記は、最初のコマンドがエラーなしのステータスで完了するのを待ちます

jeykll -w serve ; sass --watch style.scss:style.css

上記は、最初のコマンドが完了するのを待ち、終了ステータスを無視します。

したがって、私が正しく理解していれば、複数のコマンドをほぼ同時に実行する必要があります。これには、コマンド リファレンスの最後に & 演算子を使用します。

Bash の & (アンパサンド) は、プロセスを fork するために使用される組み込みの制御演算子です。Bash の man ページから、「コマンドが制御演算子 & によって終了された場合、シェルはサブシェルのバックグラウンドでコマンドを実行します」。

jeykll -w serve &
sass --watch style.scss:style.css & 
于 2013-10-19T20:44:16.797 に答える