DCS 제어 문자 비활성화

DCS 제어 문자 비활성화

파일 이름의 난해한 문자는 때때로 이상한 오류를 일으킬 수 있습니다. 최근에 백업 파일 작업을 하고 있었는데 rsync프로세스가 시작된 지 몇 분이 지나서 모든 상태 출력이 중지된 것을 발견했습니다. 좀 더 조사해보니 파일명에 아시아 문자가 들어있어서 원인인 것으로 밝혀졌습니다. 기호 중 하나에 유니코드 값이 있고 0x0090내 쉘이 이를 다음과 같이 해석하기를 원합니다.제어 문자DCS. 그러면 뒤에 해당 ST문자(값 ) 가 없으므로 0x009C모든 출력이 중지됩니다 . 완료되면 rsync이후에 내보내지는 모든 텍스트가 즉시 터미널로 오버플로됩니다.

매뉴얼 페이지를 참조했지만 stty실행 중에 해당 특수 기호의 기능을 일시적으로 제거하는 방법을 찾을 수 없습니다 rsync. 이러한 역할을 비활성화할 수 있는 방법이 있나요?

답변1

이상적으로 rsync는 인쇄 가능한 문자만 인쇄해야 합니다.

그렇지 않은 경우 cat -v버퍼링으로 인해 약간의 대기 시간이 발생하더라도 필터 유틸리티(예:)를 통해 rsync의 출력을 파이프할 수 있습니다. 또한 UTF-8로 인코딩된 C1 또는 0x90 바이트를 캡처할 만큼 스마트한지 확실하지 않습니다 cat -v(어떤 바이트가 발생하는지 명확하지 않습니다).

관련 정보