[bash] 명령이 실패하면 bash가 즉시 종료되도록하는 “set -e”의 효과를 취소하는 방법은 무엇입니까?

입력 후 set -e대화식 bash 쉘에 bash는 명령이 0이 아닌 것으로 종료되면 즉시 종료됩니다. 이 효과를 어떻게 취소 할 수 있습니까?



답변

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 || :

도움이 되었기를 바랍니다!


답변

  • + 대신-를 사용하면이 플래그가 꺼집니다.

출처


답변