내 bash 스크립트에는 iv id =를 통해 실행될 때 clear
명령이 포함되어 있습니다. “5833007f6c”>
명령을 실행하면 이상한 문자가 표시됩니다. 대화 상자에이 출력이 표시되지 않고 clear
명령을 계속 사용할 수있는 방법은 무엇입니까?
다음은이를 생성하는 방법의 예입니다.
#!/bin/bash echo "starting..." clear echo "" echo "End"
dialog
를 다음과 같이 사용합니다.
bash /tmp/1.sh | dialog --progressbox 30 80
답변
clear
의 출력을 터미널로 리디렉션 할 수 있습니다.
#!/bin/bash echo "starting..." clear >$(tty) echo "" echo "End"
clear
는 표준 출력에 씁니다 (이러한 방식으로 리디렉션되는 경우)는 스크립트의 표준 출력입니다.
sleep
는 다른 문제입니다. 파이프를 통해 작성하면 데이터가 라인 버퍼링되지 않고sleep
가이를 명확히 보여줍니다.