Bashスクリプトで次のコマンドを実行するには?

Bashスクリプトで次のコマンドを実行するには?

次のスクリプトを使用して、プロジェクトのフロントエンドとバックエンドを次のようにアクティブにします。

#!/bin/bash
cd /Users/perf-fe/
source my_project_34/bin/activate
npm start 
&&
cd /Users/perf-be/
export FLASK_APP=router.py
flask run

しかし、うまくいかず、最初の部分だけが表示されます。

#!/bin/bash
cd /Users/perf-fe/
source my_project_34/bin/activate
npm start 
&&

最初のプロセスが端末全体を占めるので、アドバイスを聞きたいです。

答え1

独自のタスクで最初のプロセスを開始してから、2番目のプロセスを実行できます。

cd /Users/perf-fe/
source my_project_34/bin/activate
npm start &
cd /Users/perf-be/
export FLASK_APP=router.py
flask run

&前のコマンドをバックグラウンドジョブとして実行し、前のコマンドがまだ実行されていても、次のコマンドを実行し続けるようにシェルに指示します。

&&これはレンダリングの構文エラーとは異なります。その目的は〜サイ2つのコマンド、最初のコマンドの終了コードが0の場合にのみ2番目のコマンドを実行します。

関連情報