이전이 성공한 경우에만 다음 bash 파일을 어떻게 시작합니까?

이전이 성공한 경우에만 다음 bash 파일을 어떻게 시작합니까?

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.shbash 명령으로 스크립트의 오류 코드를 설정하는 코드를 추가하여 다음과 같이 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이 아닌 경우 다음 스크립트의 실행을 피할 수 있습니다.

관련 정보