[unix] 0이 아닌 상태 코드로`less`가 종료되게합니까?

다음과 같은 명령 구조를 갖고 싶습니다.

command && check-status | less && followup-command

사용자가와 상호 작용하는 동안 실행이 일시 중지됩니다 less. 실행 less을 막기 위해 사용자가 어떻게 0이 아닌 상태로 강제 종료 할 수 followup-command있습니까?

나는 현재 사용하고 있습니다 less 458 (POSIX regular expressions)



답변

간단한 경우 lessSIGINT를 처리하지 말 것을 요구할 수 Control-C있으며 종료하면 종료 코드가 0이 아닙니다. 옵션으로이 작업을 수행하십시오 -K.

command && check-status | less -K && followup-command

이전 버전 이하의 해결 방법으로 다음과 같은 작업을 수행 할 수 있습니다.

command && bash -c 'trap "exit 1" int;check-status | less -K;' && followup-command

이없는 경우 -K생략하지만 신호를 내고 종료를 입력해야합니다.


답변