programing

명령어가 실패했을 때 bash를 즉시 종료시키는 "set -e"의 효과를 취소하려면 어떻게 해야 합니까?

sourcetip 2023. 4. 22. 23:02
반응형

명령어가 실패했을 때 bash를 즉시 종료시키는 "set -e"의 효과를 취소하려면 어떻게 해야 합니까?

입력 후set -e인터랙티브한 bash 쉘에서는 명령어가 0이 아닌 상태에서 종료되면 bash는 즉시 종료됩니다.어떻게 하면 이 효과를 되돌릴 수 있을까요?

와 함께set +e네, 셸 옵션을 유효하게 하는 은 반대입니다.set -디세이블로 만들 수 있습니다.set +역사적 건포도, 돈차노우

사용하기 불편할 수 있습니다.set +e/set -e덮어쓰고 싶을 때마다 말이죠.나는 더 간단한 해결책을 찾았다.

이렇게 하는 것이 아니라:

set +e
command_that_might_fail_but_we_want_to_ignore_it
set -e

다음과 같이 할 수 있습니다.

command_that_might_fail_but_we_want_to_ignore_it || true

또는, 키 입력을 보존하고 싶은 경우는, 조금 애매하게 해도 상관없습니다.

command_that_might_fail_but_we_want_to_ignore_it || :

이게 도움이 됐으면 좋겠네요!

  • - 가 아닌 + 를 사용하면 이러한 플래그가 꺼집니다.

원천

언급URL : https://stackoverflow.com/questions/3517162/how-to-undo-the-effect-of-set-e-which-makes-bash-exit-immediately-if-any-comm

반응형