Meu script bash contém o comando clear
, que quando executado por meio de dialog
resultará com letras estranhas. Como ainda posso usar o comando clear
sem ver esta saída na caixa de diálogo?
Este é um exemplo de como produzir isso:
#!/bin/bash echo "starting..." clear echo "" echo "End"
Estou usando o dialog
mais ou menos assim:
bash /tmp/1.sh | dialog --progressbox 30 80
Resposta
Você pode redirecionar a saída de clear
para o terminal:
#!/bin/bash echo "starting..." clear >$(tty) echo "" echo "End"
clear
grava em sua saída padrão, que (quando redirecionada desta maneira) pode ser diferente da saída padrão do script.
sleep
é um problema diferente: ao escrever por meio de um pipe, os dados não são armazenados em buffer de linha esleep
age para tornar isso aparente.