Bash 파일에서는 myBig.sh
다음과 같이 또 다른 두 개의 bash 파일을 호출합니다.
/bin/bash myBuildShortServer.sh
/bin/bash myStart.sh
일이지만... 한 가지 문제가 있습니다. 나는 시작하고 싶다myStart.sh
성공 후에야실행하다 myBuildShortServer.sh
.
내용은 myBuildShortServer.sh
이렇습니다.
mvn install -Pruntime -DskipTests=true -f pom-server.xml
bash 파일은 myBuildShortServer.sh
단지 Maven 작업(목표)을 시작합니다. 그리고 성공하면 작업이 콘솔 smt에 다음과 같이 인쇄됩니다.
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 30.254 s
[INFO] Finished at: 2022-06-06T12:05:43+03:00
[INFO] ------------------------------------------------------------------
그래서 시작해야 해요myStart.sh
오직성공 후 myBuildShortServer.sh
완료됩니다.
가능합니까?
답변1
첫 번째 스크립트가 이 줄뿐인 경우 다음과 같이 시도해 볼 수 있습니다.
myBuildShortServer.sh && myStart.sh
물론 스크립트를 실행 가능하게 만들어야 합니다.
chmod +x <name of the scripts>
답변2
myBuildShortServer.sh
bash 명령으로 스크립트의 오류 코드를 설정하는 코드를 추가하여 다음과 같이 exit
에서 반환된 오류 코드를 전파합니다 .mvn
mvn install ...
rc=$?
if [ $rc -ne 0 ] ; then
echo Could not perform mvn install, exit code [$rc]; exit $rc
fi
exit 0
그런 다음 첫 번째 스크립트의 오류 코드를 테스트하고 0이 아닌 경우 다음 스크립트의 실행을 피할 수 있습니다.