2017-09-07 33 views
0

私は、symfonyの組み込みWebサーバを起動するようなbashスクリプトを書いています。次の簡単なスクリプトは失敗します。なぜなら、正しい専門用語でシェルを記述する方法がわからないからです。シェルは最初のタスクで忙しくなります。私はそれがシンプルだと思うが、私はこれについて初心者です。ありがとう。bashスクリプト、firefoxを起動するには

#!/bin/bash 

cd /var/www/mySymfonyProj 
php bin/console server:run localhost:8080 
/usr/bin/firefox http://localhost:8080 
+0

@ hnefati。はい、完璧です!ありがとう。 '&'、 'wait'、および関連するバックグラウンド情報に関する基本的ではあるがよく書かれたチュートリアルを知っていますか? – mario

答えて

1

(質問を解決するためにコメントに移動)。

スクリプトの4番目の行の後にバックグラウンドでそのプロセスを実行すると、シェルはそのプロセスを起動し、次の行に移動します(5行目のコマンドが終了するまで待ちます)。

スクリプトの最後に、waitに電話をかけて、サーバーが終了するのを待つことができます。

#!/bin/bash 

cd /var/www/mySymfonyProj 
php bin/console server:run localhost:8080 & 
/usr/bin/firefox http://localhost:8080 
wait 

ジョブ制御の詳細については、this sourceを参照してください。それは有用なものすべてをカバーしているわけではありませんが、かなりの額をカバーしています。

私は$!が実行されたばかりのプロセスのPIDを返すので、さまざまなバックグラウンドタスクのPIDを追跡できるので、waitを使用して返されるまで待つことができます。

関連する問題