Bash 로그 파일의 이상한 문자 + 이를 방지하는 방법은 무엇입니까?

Bash 로그 파일의 이상한 문자 + 이를 방지하는 방법은 무엇입니까?

로그에 다음과 같은 이상한 문자가 나타나는 이유를 이해할 수 없습니다.

예 -

 ^[[1m  

또는

 ^[(B^ 

또는

 ^[[1m  

또는

 ^[(B^[[

또는

 ^[[1m

로그에서: (예)

STATUS OF SERVICES

^[(B^[[mAMBARI_METRICS...... STARTED
HDFS................ STARTED
YARN................ STARTED
ZOOKEEPER........... STARTED
^[[1m
STATUS OF COMPONENTS

^[(B^[[mAPP_TIMELINE_SERVER. STARTED,
DATANODE............ STARTED,

답변1

~처럼이르카초출력을 로그 파일로 리디렉션하는 프로그램은 파일에 로그인하기 위한 것이 아니라 텍스트 콘솔 표시용으로 형식화된 상태를 기록하기 위한 것입니다.

이것은 ^[[1m예이다디스플레이 속성을 설정하는 데 사용되는 ANSI 제어 코드 시퀀스(전경색이나 배경색, 굵게, 밑줄 등). 이는 ^[ASCII 제어 문자(이 경우에는 관련 ANSI 표준에서 CSI(제어 시퀀스 소개자)로 사용되는 이스케이프 문자(Esc))의 일반적인 표현입니다.

따라서 이 동작은 사용 중인 모든 프로그램에 적용됩니다. 어떤 유형의 출력 장치에 연결되어 있는지 오해함으로써 프로그램이 이러한 코드를 내보내지 않도록 속이려고 할 수도 있습니다. 많은 프로그램은 curses환경 변수의 값을 사용하는 라이브러리를 사용합니다.TERM

일반 셸을 사용하면 후속 명령에 영향을 주지 않고 단일 명령에 대한 환경 변수 값을 일시적으로 변경할 수 있습니다.

TERM=dumb programname options

관련 정보