요청 시 zsh의 모든 입력 및 출력 로깅

요청 시 zsh의 모든 입력 및 출력 로깅

로깅을 활성화/비활성화하는 방법이 있습니까?모든 입력 및 출력zsh 세션에서?

나는 색상 등이 포함된 사용자 정의 프롬프트와 함께 oh-my-zsh를 사용하고 있으며 이 모든 것을 가능한 한 유지하고 싶습니다(나중에 Emacs 이하에서 로그 파일을 열고 다시 구문 분석할 수 있도록)Ansi 색상 이스케이프 코드)

zsh는 이러한 유형의 로깅을 용이하게 하는 기능을 제공합니까?

나중에 로그 파일을 시각화하는 가장 좋은 방법은 무엇입니까이맥스(또는 다른 편집기) 모든 것을 올바르게 구문 분석하도록 하세요. Ansi 색상 이스케이프 코드?

답변1

가장 쉬운 방법은 을 사용하는 것입니다 script.

scriptTTY를 생성한 다음 해당 TTY에서 프로그램을 시작하는 유틸리티입니다. 이 TTY의 모든 출력은 파일에 기록될 수도 있습니다. ANSI 이스케이프를 포함한 원시 데이터를 기록합니다.
실행할 특정 명령이 주어지지 않으면 새 쉘이 생성됩니다. 이 셸을 정상적으로 사용한 다음 작업이 끝나면 셸을 종료할 수 있습니다.

예를 들어

script /tmp/mylog

완료되면 Ctrl+D를 사용하거나 exit셸을 종료하세요.

답변2

화면을 사용하세요. 매뉴얼 페이지를 인용하면 다음과 같습니다.

   C-a H       (log)         Begins/ends logging of the current window  to
                             the file "screenlog.n".

관련 정보