Programing

“set -e”의 효과를 취소하여 명령이 실패 할 때 bash를 즉시 종료하는 방법은 무엇입니까?

lottogame 2020. 5. 14. 07:58
반응형

“set -e”의 효과를 취소하여 명령이 실패 할 때 bash를 즉시 종료하는 방법은 무엇입니까?


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

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


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

출처

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

반응형