stty 출력의 문자는 어떻게 인코딩됩니까?

stty 출력의 문자는 어떻게 인코딩됩니까?

stty --all터미널을 원래 설정으로 복원하기 전에 종료되는 오작동 프로세스에 의해 재구성된 터미널에서 실행 중입니다 . 출력의 일부는 다음과 같습니다 eol = M-^?;. 이 인코딩은 무엇입니까? 이 문자열은 무엇을 의미합니까?

매뉴얼 페이지에는 아마도 선험적으로 이해하는 사람들을 위한 설명 주석이 있습니다.

설정에서 CHAR는 문자 그대로 사용되거나 ^c, 0x37, 0177 또는 127로 인코딩됩니다. 특수 값 ​​^- 또는 undef는 특수 문자를 비활성화하는 데 사용됩니다.

답변1

M-상위 비트가 설정되어 문자 인코딩에 "0x80"이 추가됨을 나타냅니다 .

^?0x7F인 "DEL" 문자를 나타냅니다 .

두 개를 더하면 0xFF가 됩니다.

우리는 이것을 테스트할 수 있습니다:

$ stty -a | grep -w eol | sed 's/.*; //'
eol = <undef>;

$ stty eol 0xff 

$ stty -a | grep -w eol | sed 's/.*; //'
eol = M-^?;

제어 문자 및 해당 캐럿의 전체 목록이 제공됩니다.아래에제어 코드 맵ASCII에 관한 Wikipedia 기사.

관련 정보