Mitt bash-skript innehåller kommandot clear
att när det körs via dialog
-kommandot kommer att resultera med konstiga bokstäver. Hur kan jag fortfarande använda kommandot clear
utan att se denna utdata i dialogrutan?
Detta är ett exempel på hur man producerar detta:
#!/bin/bash echo "starting..." clear echo "" echo "End"
Jag använder dialog
så här:
bash /tmp/1.sh | dialog --progressbox 30 80
Svar
Du kan omdirigera utdata från clear
till terminalen:
#!/bin/bash echo "starting..." clear >$(tty) echo "" echo "End"
clear
skriver till sin standardutgång, som (när den omdirigeras på detta sätt) kan skilja sig från script ”s standardutdata.
Kommentarer
- det fungerar nästan för mig, för av någon anledning om du har ' sömn ' kommando också mellan echo ' s kommando dialogrutan helt förvrängd. lägg bara till ' sov 1 ' mellan ekokommandot och se för att simulera det.
-
sleep
är ett annat problem: att skriva genom ett rör, data är inte linjebuffrad ochsleep
fungerar för att göra det tydligt.