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

내가 읽은 내용에 따라 터미널이 원시 모드 일 때 문자는 터미널 드라이버에서 처리되지 않지만 직접 전송됩니다.

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

enter image description here

왜 이런 행동이 일어나고 있습니까?!



답변

stty설정 중 하나 ( onlcr)는 터미널 드라이버 에게 줄 바꾸기 (실제로 ASCII 줄 바꿈)를 캐리지 리턴 + 줄 바꿈 으로 변환하도록 지시합니다 .

유닉스 계열 시스템은 끝줄에 줄 바꿈 을 작성 하여 터미널 드라이버가 올바른 일을 할 수있게합니다 ( 줄 바꾸기 를 캐리지 리턴과 줄 바꿈으로 바꿈).

캐리지 리턴은 “왼쪽으로 이동”하고 줄 바꿈은 “아래로 이동”합니다.

터미널을 원시 모드로 설정하면 줄 바꿈 이 더 이상 캐리지 리턴 + 라인 피드로 변환되지 않습니다. 캐리지 리턴이 없으면 계단 효과가 나타납니다.


답변