stty -a
on 을 입력하면 예상되는 다른 플래그가 pts/0
표시됩니다 .icanon
그러나 stty
현재 있는 (bash) 셸의 제어 터미널이 아닌 터미널에서 실행하면 요약하면 다음과 같습니다 -icanon
.
stty -a < /dev/pts/0
에서pts/0
, 주어진icanon
, 와 함께stty -a
stty -a < /dev/pts/0
에서pts/1
, 주어진-icanon
stty -a < /dev/pts/1
에서pts/1
, 주어진icanon
, 와 함께stty -a
stty -a < /dev/pts/1
에서pts/0
, 주어진-icanon
어떻게 되어가나요?
답변1
최종 장치의 회선 정책이 표준 모드가 아닙니다.쉘의 명령줄 편집기가 활성화된 경우. GNU Readline, ZLE, editline 또는 기타 명령줄 편집 라이브러리가 해당 편집기를 적극적으로 표시할 때 쉘은 터미널 줄 규칙을 비정규 모드로 전환했습니다. 생각해 보세요. 라인 편집기에는 제어 문자(특수 문자 포함)에 대한 고유한 해석이 있으며 각 문자가 입력될 때 즉시 응답하므로 터미널 I/O를 다른 방식으로 사용할 수 없습니다.
라인 편집기가 라인을 완료할 때마다 표준 모드를 다시 시작합니다. 첫 번째 의사 터미널로 이동하여 잠시 동안 실행되는 외부 명령(예: )을 실행합니다 sleep
.그 다음에다른 의사 터미널에서 보고된 내용을 봅니다.