Bash : 종료 상태가 양호한 실행 파일을 실행하십시오.


32

Linux에서 실행 파일을 실행하고 싶습니다. 종료 상태에 관계없이 양호한 종료 상태를 반환하고 싶습니다. (즉 오류 없음)

(이는 내가 사용 sh -ex하고 있기 때문에 하나의 특정 명령이 실패하더라도 스크립트가 계속 실행되기를 원 하기 때문 입니다.)

답변:


47

이것을 시도하십시오 :

command || true

보낸 사람 man bash:

실패한 명령이 while 또는 until 키워드 바로 뒤에 오는 명령 목록의 일부인 if 또는 elif 예약어 다음에 오는 테스트의 일부이고 && 또는 ⎪⎪ 목록에서 실행 된 명령의 일부인 경우 쉘이 종료되지 않습니다. 마지막 && 또는 ⎪⎪ 뒤에 오는 명령, 파이프 라인의 모든 명령이지만 마지막 또는 명령의 반환 값이!로 반전 된 경우


또한 좋은 것 :)
voretaq7

1

을 시도 (executable ; exit 0)하거나 항상 0을 종료하는 쉘 스크립트로 래핑하십시오.


1
이것은 대부분의 경우 잘 작동하지만 하위 쉘을 설정하므로, 예를 들어 (cd foo; exit 0)성공하면 cwd가 이전에 있던 것으로 반환되므로 나중에 "foo"로 끝나지 않습니다. 그러나 cd foo || true성공하면 "foo"상태로 유지됩니다.
추후 공지가있을 때까지 일시 중지되었습니다.

좋은 점-프로세스에 추가 부작용 (환경 변수 설정, 디렉토리 변경 등)이 있으면 효과가 없습니다.
voretaq7
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.