pts/1의 `stty -a < /dev/pts/0` 출력이 pts/0의 `stty -a`와 다른 이유는 무엇입니까? [복사]

pts/1의 `stty -a < /dev/pts/0` 출력이 pts/0의 `stty -a`와 다른 이유는 무엇입니까? [복사]

stty -aon 을 입력하면 예상되는 다른 플래그가 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.그 다음에다른 의사 터미널에서 보고된 내용을 봅니다.

관련 정보