törlés parancs a konzol párbeszédpanelen

A bash szkriptem tartalmazza a clear parancsot, amelyet a dialog parancs furcsa betűket eredményez. Hogyan használhatom továbbra is a clear parancsot anélkül, hogy látnám ezt a kimenetet a párbeszédpanelen?

Ez egy példa ennek előállítására:

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

Ilyen típusú dialog -t használok:

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

ide írja a kép leírását

Válasz

Átirányíthatja a clear kimenetét a terminálra:

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

clear ír a szokásos kimenetére, amely (ilyen módon átirányítva) eltérhet a a szkript szabványos kimenete.

Megjegyzések

  • szinte működik nálam, mert valamilyen oknál fogva, ha ' sleep ' parancs az echo ' s között is teljesen torzítja a párbeszédablakot. csak adja hozzá az ' sleep 1 ' szót az echo parancs közé, és a szimuláció érdekében nézze meg.
  • sleep egy másik probléma: egy csövön keresztüli íráskor az adatok nincsenek pufferelve, és a sleep ennek érdekében nyilvánvalóvá teszi.

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük