シェルスクリプトを使用して複数の.Netプロジェクトを実行する方法

シェルスクリプトを使用して複数の.Netプロジェクトを実行する方法

マイクロサービスベースのプロジェクトでは複数の.netプロジェクトを実行する必要があるため、これを達成するために単純な.shファイルを作成しました。

#! /bin/sh.
~/start
dotnet run --project "AuthService/API" --no-build;
dotnet run --project "MicroServices/FileUploadManagementService/API" --no-build;
dotnet run --project "MicroServices/ContractFinancialManagementService/API" --no-build;
dotnet run --project "MicroServices/ParameterManagementService/API" --no-build;
dotnet run --project "MicroServices/ProcurementManagementService/API" --no-build;
dotnet run --project "MicroServices/SiteManagementService/API" --no-build;
dotnet run --project "MicroServices/StakeholderManagementService/API" --no-build;
dotnet run --project "MicroServices/SupervisionManagementService/API" --no-build;
dotnet run --project "MicroServices/UserManagementService/API" --no-build;

私の問題は、認証サービスが実行される最初の行以降に他のプロジェクトが起動しないことです。この問題をどのように解決できますか?

ベストアンサー1

&各行の末尾に追加する必要があります。これにより、バックグラウンドで各コマンドが実行されます(~/start何がわかりませんが、追加する必要はないようです&)。
また、@roaimaがコメントで指摘したように/bin/sh./bin/shまたは/bin/bashを使用している場合bash)に変更する必要があります。したがって、あなたのコードは次のようになります。

#! /bin/sh
~/start
dotnet run --project "AuthService/API" --no-build &
dotnet run --project "MicroServices/FileUploadManagementService/API" --no-build &
dotnet run --project "MicroServices/ContractFinancialManagementService/API" --no-build &
dotnet run --project "MicroServices/ParameterManagementService/API" --no-build &
dotnet run --project "MicroServices/ProcurementManagementService/API" --no-build &
dotnet run --project "MicroServices/SiteManagementService/API" --no-build &
dotnet run --project "MicroServices/StakeholderManagementService/API" --no-build &
dotnet run --project "MicroServices/SupervisionManagementService/API" --no-build &
dotnet run --project "MicroServices/UserManagementService/API" --no-build &

;また、新しい行からすべてのコマンドを実行するので、スクリプトには必要ないので、すべての行から削除しました。これは;、同じ行でコマンドを実行する場合にのみ必要です。command1;command2;etc

おすすめ記事