commande clear dans la boîte de dialogue de la console

Mon script bash contient la commande clear, qui lorsquelle est exécutée via dialog donnera des lettres étranges. Comment puis-je encore utiliser la commande clear sans voir cette sortie dans la boîte de dialogue?

Voici un exemple de la façon de produire ceci:

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

Je « m utilise le dialog sorte de comme ceci:

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

entrez la description de limage ici

Réponse

Vous pouvez rediriger la sortie de clear vers le terminal:

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

clear écrit sur sa sortie standard, qui (lorsquelle est redirigée de cette manière) peut être différente du la sortie standard du script.

Commentaires

  • ça marche presque pour moi parce que pour une raison quelconque si vous avez ' sleep ' commande également entre la commande echo ' le dialogue complètement déformé. il suffit dajouter ' sleep 1 ' entre la commande echo et voir pour la simuler.
  • sleep est un problème différent: en écrivant via un tube, les données ne sont pas mises en tampon en ligne, et le sleep agit pour rendre cela apparent.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *