로그에 다음과 같은 이상한 문자가 나타나는 이유를 이해할 수 없습니다.
예 -
^[[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