나는 다른 스크립트를 실행하는 간단한 bash 스크립트를 가지고있다 ...
#/bin/bash
…
./update_artifact1.sh $ARTIFACT_VERSION
./update_artifact2.sh $ARTIFACT_VERSION
./update_artifact3.sh $ARTIFACT_VERSION
문제는 첫 번째 명령 (또는 두 번째)이 오류와 함께 종료되면 후속 명령이 실행되지 않는다는 것입니다. 세 명령을 모두 실행하고 각 명령의 종료 상태를 저장 한 다음이 세 명령이 모두 성공적으로 실행되면 성공적인 종료 상태를 반환하는 방법이 있습니까? 스크립트는 동시에 실행될 필요가 없습니다.
2
당신이 보여주는 것은 주요 스크립트가 죽어야한다는 것을 의미하지는 않습니다. "..."뒤에 무엇이 있습니까?
—
glenn jackman
"./update_artifact1.sh $ ARTIFACT_VERSION"명령이 실패하면 다른 두 명령 ( "./update_artifact2.sh $ ARTIFACT_VERSION"및 "./update_artifact3.sh $ ARTIFACT_VERSION")이 실행되지 않습니다. 이해하니?
—
Dave
네 저도 그렇습니다. 하지만 시도하면
—
glenn jackman
cd /unknown_dir; echo ok
cd가 실패하더라도 echo 명령이 실행되었습니다. 왜 스크립트에서 두 번째 및 세 번째 명령이 실패합니까? 있니? set -e
켜져? 두 번째 및 세 번째 명령은 첫 번째 명령에 의존합니까? 오류 출력이 있습니까? 더 많은 정보를 제공해야합니다.