Bash 세션 로그 파일에 쓰레기가 있습니다. (스크립트 명령 사용)

Bash 세션 로그 파일에 쓰레기가 있습니다. (스크립트 명령 사용)

다음 명령을 사용하여 bash 세션을 기록하려고 합니다.

js:/var/tmp # script -aqf /var/tmp/out

파일 에는 out출력 외에도 많은 쓰레기가 표시됩니다. 예를 들어 공백과 줄 바꿈 이상의 것을 볼 수 있습니다.

Script started on Tue Jul 14 14:17:57 2015
^[[?1034h^[[1m^[[31mjs-om:/var/tmp # ^[(B^[[m^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[m^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[m^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[m^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[m^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[mpwd^M
/var/tmp^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[m^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[m^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[m^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[m^M
^[[1m^[[31mjs:/var/tmp # ^[(B^[[mexit^M
exit^M

문제는 인코딩에 있다고 생각합니다. 이 문제에 대한 해결책이 있습니까?

답변1

아니요, 문제는 인코딩이 아닙니다. 매뉴얼 페이지에 언급된 화면 전제 조건을 따르지 않는 것 같습니다.

 Certain interactive commands, such as vi(1), create garbage in the type‐
 script file.  Script works best with commands that do not manipulate the
 screen, the results are meant to emulate a hardcopy terminal.

복잡한 프롬프트로 생성할 수 있는 모든 종류의 콘텐츠가 있습니다. 알림 설정

PS1="$ " 

쓰레기 쓰기를 방지하기 위해.

답변2

문제를 해결하는 것 외에도 환경 변수에 적절한 값을 내보내어 애플리케이션이 인쇄되지 않는 문자를 내보내지 않도록 설득 PS1할 수 있습니다 . TERM정식 세션은 아마도 export TERM=dumb세션 시작 부분 script(또는 TERM=dumb script <args>호출 시)에 있을 것입니다. PS1을 사용하여 이식 가능한 것을 만든다고 가정하면 tput후자도 해당 목적에 적합할 수 있습니다.

답변3

스크립트 출력에서 ​​제어 문자(콘솔 코드/색상 포함) 제거귀하의 질문에 대답하는 것 같습니다.

먼저, 모든 이스케이프 시퀀스의 TypeScript 파일을 지운 후 script +를 사용하십시오.

관련 정보