스크립트에서 전체 화면을 지우고 스크립트 종료 후 이전 프롬프트 표시

스크립트에서 전체 화면을 지우고 스크립트 종료 후 이전 프롬프트 표시

glance오늘 저는 CPU 사용률을 모니터링하는 도구를 사용하여 사무실에 있었습니다. 터미널에서 실행 하면 glance명령이 화면을 지우고 모든 작업이 완료된 후 터미널로 돌아가면 이전 프롬프트가 여전히 화면에 표시됩니다. 이전 줄을 모두 볼 수 있다는 뜻입니다. 내 질문은 화면을 지우는 효과가 어떻게 달성되는지입니다. 이와 같은 명령을 사용하면 clear전체 화면이 지워져야 하는데, 이전 프롬프트를 모두 어떻게 복원했습니까? 일부 스크립트에 대해 동일한 기능을 구현하고 싶습니다.

마찬가지로 명령을 사용하면 vi화면이 완전히 채워지고 종료 후 이전 프롬프트를 볼 수 있습니다.

답변1

많은 터미널 에뮬레이터는 일반 화면 버퍼와 대체 화면 버퍼라는 두 개의 터미널 출력 복사본을 유지 관리합니다. 일반 버퍼는 일반적으로 커서를 현재 줄 밖으로 이동하지 않고 스크롤백 기능을 제공하는 명령줄 응용 프로그램에 사용됩니다. 대체 버퍼는 전체 화면 응용 프로그램에 사용되며 스크롤백 기능을 제공하지 않습니다.

Glance, vi 및 기타 기능은 시작 시 대체 화면으로 전환되고 종료 시 다시 돌아옵니다.

xterm에서는 마우스 가운데 버튼 메뉴에서 "대체 화면 표시"를 전환하여 현재 화면이 아닌 다른 화면을 볼 수 있습니다.

스크립트에서 및 tput smcup( tput rmcup화면 간 전환을 위한 제어 순서를 가져오고 ) 을 사용할 수 있습니다 smcup.rmcup용어 정보전체 화면 모드로 전환하거나 전체 화면 모드에서 전환하는 기능).

관련 정보