comando clear nella finestra di dialogo della console

Il mio script bash contiene il comando clear, che quando viene eseguito tramite dialog risulterà con lettere strane. Come posso ancora utilizzare il comando clear senza visualizzare questo output nella finestra di dialogo?

Questo è un esempio di come produrre questo:

#!/bin/bash echo "starting..." clear echo "" echo "End" 

Sto utilizzando dialog in questo modo:

bash /tmp/1.sh | dialog --progressbox 30 80 

inserisci qui la descrizione dellimmagine

Risposta

Puoi reindirizzare loutput di clear al terminale:

#!/bin/bash echo "starting..." clear >$(tty) echo "" echo "End" 

clear scrive nel suo standard output, che (se reindirizzato in questo modo) può essere diverso dal output standard dello script.

Commenti

  • per me quasi funziona perché per qualche motivo se hai ' sleep ' anche tra i comandi echo ' s la finestra di dialogo è completamente distorta. basta aggiungere ' sleep 1 ' tra il comando echo e vedere per simularlo.
  • sleep è un problema diverso: scrivendo attraverso una pipe, i dati non sono bufferizzati a righe e sleep agisce per renderlo evidente.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *