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
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.
sleep
je jiný problém: při zápisu pomocí kanálu, data nejsou ukládána do mezipaměti, asleep
to dělá zjevně.