příkaz clear v dialogu konzoly

Můj bash skript obsahuje příkaz clear, který při spuštění pomocí dialog bude obsahovat podivná písmena. Jak mohu použít příkaz clear, aniž bych viděl tento výstup v dialogovém okně?

Toto je příklad toho, jak to vyrobit:

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

Používám dialog něco takového:

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

sem zadejte popis obrázku

odpověď

Výstup clear můžete přesměrovat na terminál:

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

clear zapíše na svůj standardní výstup, který se (při přesměrování tímto způsobem) může lišit od standardní výstup skriptu.

Komentáře

  • pro mě to téměř funguje, protože z nějakého důvodu máte ' sleep ' příkaz také mezi příkazem echo ' s dialog zcela zkreslen. stačí přidat ' sleep 1 ' mezi příkaz echo a vidět, abyste jej simulovali.
  • sleep je jiný problém: při zápisu pomocí kanálu, data nejsou ukládána do mezipaměti, a sleep to dělá zjevně.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *