bash 스크립트에서 명령을 실행하여 실행 중인 터미널을 지우고 싶습니다.
- 나는 원하지 않는다bash 기록을 지우려면 (history -c)
- 나는 원하지 않는다지우기 명령을 실행합니다(터미널을 마지막 프롬프트로 아래로 이동하여 터미널이 지워진 것처럼 보이지만 위로 스크롤하면 이전 출력이 계속 표시됨).
- 나는 원해요터미널에 대한 이전 출력을 모두 완전히 제거하고 새 출력을 여는 것처럼 깨끗하게 유지하려면
감사해요.
답변1
노력하다 printf '\033c'
. 이는 일반적으로 스크롤백 버퍼를 포함한 모든 내용을 지우는 이스케이프 시퀀스를 터미널로 보냅니다.
답변2
clear
터미널 화면을 지웁니다. 그래픽 인터페이스에서 터미널에 액세스하고 있으므로 실제 콘솔이 아닌 콘솔에 대한 인터페이스를 실제로 사용하고 있는 것 같습니다. 이 인터페이스는 출력 기록(위로 스크롤할 때 표시되는 항목)을 자동으로 "저장"합니다. 실제 콘솔(그래픽 인터페이스 없음)에서는 위로 스크롤할 수 없습니다. 이 경우 터미널은 콘솔 출력 로그를 유지하는 프로그램일 뿐입니다.
새 터미널 창을 열고 현재 창을 닫으면 새 창에서 시작됩니다. (터미널 -> 다시 초기화 및 지우기"로 이동하여 수동으로 다시 초기화할 수도 있습니다.)
데스크탑 환경에서 실행되는 터미널:
데스크탑 환경이 없는 콘솔:
답변3
확인하다Bash 재설정 및 지우기 명령을 참조하는 이 SU 게시물
reset
답변 외에도 터미널을 지우는 또 다른 방법도 설명합니다.
답변4
한 가지 옵션은 스크롤백이 비활성화된 상태에서 터미널을 시작할 수 있는지 확인하는 것입니다. 예를 들어, xterm -sl 0
0 saveLines로 xterm을 시작합니다. 맨 파일을 참조하십시오:
-sl number
This option specifies the number of lines to save that have
been scrolled off the top of the screen. This corresponds to
the saveLines resource. The default is 64.