콘솔 대화 상자의 명령 지우기

내 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 ' 명령 사이에도 echo ' 명령 사이에 대화 상자가 완전히 왜곡되었습니다. echo 명령 사이에 ' sleep 1 '을 추가하고 시뮬레이션하려면 확인하세요.
  • sleep는 다른 문제입니다. 파이프를 통해 작성하면 데이터가 라인 버퍼링되지 않고 sleep가이를 명확히 보여줍니다.

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다