Por que a combinação de dois unbuffers gera este erro?

1

Estou lendo esta resposta aqui e executo o código de teste

unbuffer xxd -ps /usr/bin/telnet | unbuffer -p less

mas receba Missing filename ("less --help" for help) .

Por que a combinação de dois unbuffers gera esse erro?

    
por Léo Léopold Hertz 준영 26.06.2015 / 11:25

1 resposta

2

Normalmente, unbuffer não lê stdin . Para usar unbuffer em um pipeline, use o sinalizador -p . Exemplo:

process1 | unbuffer -p process2 | process3

Essa é a maneira de fazer isso. Mas você usou unbuffer no último processo, o que não faz sentido e não funciona (obviamente). Então, seu comando deve procurar:

unbuffer xxd -ps /usr/bin/telnet | less

Explicação: unbuffer desativa o buffer de saída que ocorre quando a saída do programa é redirecionada de programas não interativos. Mas less não está sendo redirecionado.

Fonte de todo este texto: manpage of unbuffer.

    
por 26.06.2015 / 14:35

Tags