Mitt bash-skript inneholder kommandoen clear
som når den kjøres gjennom dialog
-kommandoen vil resultere med rare bokstaver. Hvordan kan jeg fremdeles bruke clear
-kommandoen uten å se denne utgangen i dialogboksen?
Dette er et eksempel på hvordan du produserer dette:
#!/bin/bash echo "starting..." clear echo "" echo "End"
Jeg bruker dialog
slik:
bash /tmp/1.sh | dialog --progressbox 30 80
Svar
Du kan omdirigere utgangen av clear
til terminalen:
#!/bin/bash echo "starting..." clear >$(tty) echo "" echo "End"
clear
skriver til sin standardutgang, som (når den blir omdirigert på denne måten) kan være forskjellig fra skript «s standardutgang.
Kommentarer
- det fungerer nesten for meg fordi du av en eller annen grunn har ' sleep ' kommando også mellom ekko ' s kommando dialogen fullstendig forvrengt. bare legg til ' sove 1 ' mellom ekkokommandoen og se for å simulere den.
-
sleep
er et annet problem: å skrive gjennom et rør, dataene er ikke linjebufret, ogsleep
virker for å gjøre det tydelig.