ICRNLが設定されていても、端末からCRを送信し続けるのはなぜですか?

ICRNLが設定されていても、端末からCRを送信し続けるのはなぜですか?

シェル付きの端末がありますbash

端末はICRNLフラグを設定します(したがって、端末が送信するときに変換CRされてLF送信されLFますbash)。

ここに画像の説明を入力してください。

ところがテストをしてみると、bash受け取れるかCRどうか結果が出ましたLF。なぜそんなことですか?

私がテストしたのは、hexdump別の端末で実行し、最初の端末から送信された内容を読み取ることでした。

ベストアンサー1

bashプロンプトで実行するとstty -aターミナル設定が表示され、bashはコマンドラインを読みません。

Bashがコマンドラインを読み取るとicrnl(bashは独自の入力処理を実行するため、生の入力が必要なのでオフ)など、一部の端末設定を変更します。 Bash は、コマンドを実行する前に元の設定を復元します。

Bash プロンプトで端末設定を表示するには、これがどの端末であるかを確認し、stty別の端末で実行します。たとえば、

  1. ターミナルから:

    bash-4.2$ tty
    /dev/pts/3
    bash-4.2$ 
    
  2. 他の端末から:

    $ stty -a </dev/pts/3
    … -icrnl …
    

おすすめ記事