のドキュメントにはtermios
次のように書かれています:
国際原子力機関
入力時に復帰改行文字を変換します (IGNCR が設定されていない場合)。
OCRNL
出力時に CR を NL にマップします。
しかし、「入力時」と「出力時」は正確には何を意味するのでしょうか? これは私の考えです:
- 「入力時」とは、端末が tty デバイスに何かを送信するときを意味します。
- 「出力時」とは、
bash
(または他のプロセスが) tty デバイスに何かを送信するときを意味します。
私の言うことは正しいでしょうか?
答え1
コンピュータのシリアル ポートに接続された「ダム ターミナル」(vt100 など) の観点から考え、コンピュータの観点からそれを見る必要があります。
したがって、コンピュータへの「入力」とは、端末がコンピュータにデータを送信するとき、つまりキーボードで入力するときのことです。
同様に、「出力」はコンピューターが端末に何かを送信するとき、たとえば画面に何かを印刷するときです。
より現代的な設定 (Linux コンソールなど) でも、概念は同じです。つまり、「入力」はキーボードで入力されたもの、「出力」は画面に表示されるものです。
これは、「stdin」と「stdout」の標準規則と一致します。
答え2
そうですね、ターミオスこれは、端末 (文字を表示するためのデバイスと文字を入力するためのデバイスを組み合わせたもの) とホスト コンピューター間の通信のみに関係するためです。
それ"の上"ぎこちなく見えるかもしれませんが、これは単に「入力を実行中」または「出力を実行中」を短く表現しただけです。