Bash 프롬프트 제어가 이전 줄을 덮어씁니다.

Bash 프롬프트 제어가 이전 줄을 덮어씁니다.

"systemctl status"와 같은 명령을 실행하면 bash 출력의 처음 몇 줄에 출력이 기록되는 문제가 있습니다. 보통 출력은 현재 줄보다 20줄 정도 위에 쓰여지는데... PS1=$을 간단하게 사용하기 때문에 PS1은 문제가 없는 것 같습니다. 또한 아래에 언급된 해결 방법을 시도해 보십시오.

Bash는 첫 번째 줄을 덮어씁니다. PS1 bash 프롬프트

저는 퍼티를 사용하여 임베디드 대상의 우분투에 연결하고 있습니다. 예를 들어, 파일에 "cat"을 입력하면 이 문제가 발생하지 않습니다.

답변1

질문이 너무 막연하지만 확인해 보겠습니다.

  • 단말기( TERM)와 단말기의 설정을 확인하세요. 일치해야 하지만 표준을 사용하는 것이 더 좋습니다(그리고 시스템은 이러한 터미널을 지원해야 합니다).

  • 글꼴을 확인하세요. 이런 경우에도 범용 글꼴을 사용해 보세요.

답변2

이전 xterm 및 터미널 기능을 사용하여 터미널을 초기화하면 이 동작을 볼 수 있습니다 systemctl status(마치 전체 화면 응용 프로그램을 표시하는 것처럼). infocmp를 사용하여 이를 확인할 수 있습니다. 예를 들면 다음과 같습니다.smcuprmcup

smcup=\E[?47h, rmcup=\E[2J\E[?47l,

대체 화면으로/에서 전환하기 전/후에 커서 위치를 저장/복원합니다. Putty에서 대체 화면 기능을 비활성화해도 커서 이스케이프 시퀀스 저장/복원은 계속 작동합니다.

올바르게 구현된 새 smcup/rmcup은 대체 화면이 비활성화되면 커서 저장/복원을 비활성화합니다(Putty에서 올바르게 구현되었는지 기억이 나지 않습니다...).

추가 자료:

관련 정보