Mi script bash contiene el comando clear
, que cuando se ejecuta a través de dialog
resultará en letras extrañas. ¿Cómo puedo seguir usando el comando clear
sin ver este resultado en el cuadro de diálogo?
Este es un ejemplo de cómo producir esto:
#!/bin/bash echo "starting..." clear echo "" echo "End"
Estoy «usando dialog
algo parecido a esto:
bash /tmp/1.sh | dialog --progressbox 30 80
Respuesta
Puede redirigir la salida de clear
a la terminal:
#!/bin/bash echo "starting..." clear >$(tty) echo "" echo "End"
clear
escribe en su salida estándar, que (cuando se redirige de esta manera) puede ser diferente de la salida estándar del script.
sleep
es un problema diferente: al escribir a través de una tubería, los datos no están almacenados en búfer de línea ysleep
actúa para hacer eso evidente.