tty에 입력한 문자가 왜 표시되지 않나요? [복사]

tty에 입력한 문자가 왜 표시되지 않나요? [복사]

Enter TTY1을 누릅니다 CtrlAltF1. 나는 한동안 주로 vim에서 작업하고 있었는데 쉘(bash)이 에코를 멈췄습니다.

입력하면 echo abc안 나오네요.

대신 다음과 같은 화면이 나타납니다. 계단식 라인이 있는 Bash 쉘

이 문제를 어떻게 해결할 수 있나요?

답변1

tty다양한 상황에서 작동할 수 있는 복잡한 짐승입니다.모델. 예를 들어, vi(1)를 실행할 때아니요입력한 문자가 화면에 표시되기를 원하며, 표시되는 내용은 편집자가 담당합니다. 이를 "원시" 모드라고 합니다. 일반적으로 커널이 사용자가 입력한 내용을 화면에 직접 보내는 "에코" 모드에 있습니다. 세부 정보 표시를 담당하는 프로그램이 충돌하고 종료하기 전에 복구 모드가 없으면 입력할 때 모든 종류의 이상한 내용이 표시됩니다. 설정을 엉망으로 만드는 또 다른 인기 있는 방법은 바이너리 파일(예: 실행 파일 또는 이미지)을 화면에 보내는 것입니다. 여기에는 설정을 변경하는 키 시퀀스가 ​​쉽게 포함될 수 있습니다.

설정을 다시 정상으로 되돌리는 방법은 tty다음 명령을 실행하는 것입니다.reset, 이는 ^Jreset^J( ctrl-J, Ctrl과 J 키를 동시에 누르기)를 통해 ^J수행 됩니다.

ctrl-JC에서는 이를 "\n", NEWLINE이라고 부르는데, 이는 쉘이 읽고 있는 이전 라인을 종료합니다(있는 경우). reset이는 ctrl-J라인을 종료하고 쉘이 명령을 실행하게 합니다. 이런 넌센스는 리턴 키가 캐리지 리턴 문자인 '\r'을 생성하고 일반 모드에서는 편의상 '\n'으로 변환되기 때문에 필요합니다.

Unix의 뿌리에 대한 복잡한 내용에 오신 것을 환영합니다.

관련 정보