2012-07-19 4 views
2

난 당신과 같이 예외 처리의 일종 할 쉘 스크립트에 따라 바로 가기 부울 연산자를 사용할 수 있다는 것을 알고 :"예외 처리"

my_first_command && my_second_command && my_third_command 

을하지만이 신속하게 숫자로 읽을 수 및 유지 보수가 어려운된다 체인으로 연결하려는 명령이 커집니다. 스크립트 (또는 쉘 함수)를 작성하는 경우 하나의 큰 행을 쓰지 않고 첫 번째 0이 아닌 리턴 코드에서 스크립트 또는 함수 실행을 중지하는 좋은 방법이 있습니까?

(나는 zsh을 사용하기 때문에 답변이있는 경우 그 혼자만 괜찮아요 그 zsh에서 작동합니다.)

답변

3

-e 옵션은이 수행합니다

ERR_EXIT (-e, ksh: -e) 
      If a command has a non-zero exit status, execute the ZERR trap, 
      if set, and exit. This is disabled while running initialization 
      scripts. 

사용자가이를 넣을 수 있어야합니다 같은 오두막 라인 :

#!/usr/bin/zsh -e 

대부분의 쉘은이 옵션을 가지고 있고, 보통 -e를 불렀다.

+0

이것은 완벽합니다. - 덕분에 너무 많이! 수락하지 않는 창이 만료되는대로 즉시 받아 들일 것입니다. –