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 esleepage para tornar isso aparente.