다음과 같은 명령 구조를 갖고 싶습니다.
command && check-status | less && followup-command
사용자가와 상호 작용하는 동안 실행이 일시 중지됩니다 less
. 실행 less
을 막기 위해 사용자가 어떻게 0이 아닌 상태로 강제 종료 할 수 followup-command
있습니까?
나는 현재 사용하고 있습니다 less 458 (POSIX regular expressions)
다음과 같은 명령 구조를 갖고 싶습니다.
command && check-status | less && followup-command
사용자가와 상호 작용하는 동안 실행이 일시 중지됩니다 less
. 실행 less
을 막기 위해 사용자가 어떻게 0이 아닌 상태로 강제 종료 할 수 followup-command
있습니까?
나는 현재 사용하고 있습니다 less 458 (POSIX regular expressions)
답변:
간단한 경우 less
SIGINT를 처리하지 말 것을 요구할 수 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
생략하지만 신호를 내고 종료를 입력해야합니다.
-K
에는 exit ... (상태 2)가 명시 되어 있습니다. 당신은합니까?
Causes less to exit immediately
> greenwoodsoftware.com/less/news.443.html
^C
도 죽일 check-status
이미 완성되어 있지 않은 경우.
less -K
여전히 ctrl-c에서 0 종료 코드를 반환합니다. Mac에서는 v418, Linux에서는 v436less -K test; echo $? => 0