Piping gato na parede (por exemplo, gato | parede)

1

Por que echo foo | wall funciona, mas cat | wall não funciona? No último caso, eu entro algumas linhas no gato e, em teoria, elas devem ser encanadas; no entanto, nada acontece.

    
por Zach 10.02.2018 / 08:01

1 resposta

0

wall não envia cada linha de sua entrada como uma mensagem separada. Ele coleta toda a entrada para enviar um único título Broadcast Message from ... antes da mensagem, em vez de enviar um título separado para cada linha.

Se você quiser processar a entrada de uma linha por vez, insira um loop entre cat e wall :

cat |while read -r line; do wall <<<"$line"; done
    
por 10.02.2018 / 21:13