Porque 'menos' para sair com um código de status diferente de zero?

9

Eu gostaria de ter a seguinte estrutura de comando:

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

Isso pausa a execução enquanto o usuário interage com less . Como o usuário pode forçar o less a sair com um status diferente de zero para evitar que followup-command seja executado?

No momento, estou usando less 458 (POSIX regular expressions)

    
por user2943160 05.06.2016 / 18:28

1 resposta

14

No caso simples, você pode pedir ao less para não manipular o SIGINT, então o Control-C irá eliminá-lo e o código de saída será diferente de zero. Faça isso com a opção -K .

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

Como solução alternativa para versões mais antigas de menos, você pode fazer algo como

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

Se você não tem -K , omita, mas você terá que sinalizar e depois digitar também.

    
por 05.06.2016 / 18:36