터미널을 원시 모드로 설정할 때 예기치 않은 들여쓰기 동작이 발생합니다. 왜 이런 일이 발생합니까?

터미널을 원시 모드로 설정할 때 예기치 않은 들여쓰기 동작이 발생합니다. 왜 이런 일이 발생합니까?

내가 읽은 바에 따르면 터미널이 원시 모드에 있을 때 문자는 터미널 드라이버에서 처리되지 않고 직접 전송됩니다.

명령을 사용하여 터미널을 원시 모드로 설정했는데 stty raw더 이상 공간이 없을 때까지 출력이 매번 오른쪽으로 들여쓰기되는 것을 확인했습니다. 이것이 내가 의미하는 바입니다:

여기에 이미지 설명을 입력하세요.

왜 이런 문제가 발생합니까? !

답변1

중 하나stty설정(onlcr)말하다터미널 드라이버전환하다새로운 팀(실제로는 ASCII 줄 바꿈)을 캐리지 리턴과 줄 바꿈으로 변환합니다.

Unix 계열 시스템에서는 다음과 같은 코드만 작성하면 됩니다.새로운 팀라인을 종료하고 터미널 드라이버가 올바른 작업을 수행하도록 합니다(변환새로운 팀캐리지 리턴 및 줄 바꿈).

캐리지 리턴 문자는 "왼쪽으로 이동"하고 줄 바꿈 문자는 "아래로 이동"합니다.

터미널을 원시 모드로 설정하면,새로운 팀더 이상 캐리지 리턴과 줄 바꿈으로 변환되지 않습니다. 캐리지 리턴 문자가 없으면 이해하게 될 것입니다.계단영향.

관련 정보