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、与えられたicanonstty -a
  • stty -a < /dev/pts/0からpts/1、与えられた-icanon
  • stty -a < /dev/pts/1からpts/1、与えられたicanonstty -a
  • stty -a < /dev/pts/1からpts/0、与えられた-icanon

どうなりますか?

ベストアンサー1

エンドデバイスの回線ポリシーが標準モードではありません。シェルのコマンドラインエディタが有効になっている場合。 GNU Readline、ZLE、editline、またはその他のコマンドライン編集ライブラリがそのエディタを積極的に表示すると、シェルはターミナル行ルールを非正規モードに切り替えました。考えてみてください。ラインエディタには制御文字(特殊文字を含む)の固有の解釈があり、各文字が入力されるとすぐに応答するため、端末I / Oを他の方法で使用することはできません。

ラインエディタがラインを完了するたびに標準モードを再起動します。最初の疑似端末に移動し、しばらく実行される外部コマンド(たとえば)を実行しますsleepそれから別の疑似端末で報告された内容を表示します。

おすすめ記事