clear commando in consoledialoog

Mijn bash-script bevat het clear commando, dat wanneer uitgevoerd via dialog commando zal resulteren met vreemde letters. Hoe kan ik nog steeds het clear commando gebruiken zonder deze uitvoer in het dialoogvenster te zien?

Dit is een voorbeeld van hoe dit te produceren:

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

Ik “gebruik de dialog ongeveer zo:

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

voer hier een afbeeldingbeschrijving in

Antwoord

Je zou de uitvoer van clear kunnen omleiden naar de terminal:

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

clear schrijft naar zijn standaarduitvoer, die (wanneer omgeleid op deze manier) kan verschillen van de script “s standaard output.

Reacties

  • het werkt bijna voor mij, want om de een of andere reden heb je ' sleep ' commando ook tussen echo ' s commando de dialoog volledig vervormd. voeg gewoon ' sleep 1 ' toe tussen het echo-commando en kijk om het te simuleren.
  • sleep is een ander probleem: als je door een pipe schrijft, worden de gegevens niet in een lijn gebufferd, en de sleep maakt dat duidelijk.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *