comando borrar en el cuadro de diálogo de la consola

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 

ingrese la descripción de la imagen aquí

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.

Comentarios

  • casi funciona para mí porque por alguna razón si tienes ' sleep ' comando también entre echo ' s el cuadro de diálogo está completamente distorsionado. simplemente agregue ' sleep 1 ' entre el comando echo y ver para simularlo.
  • 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 y sleep actúa para hacer eso evidente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *