셸 스크립트를 사용하여 여러 .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

관련 정보