ターミナルを raw モードに設定すると、予期しないインデント動作が発生します。なぜこのようなことが起こるのでしょうか?

ターミナルを raw モードに設定すると、予期しないインデント動作が発生します。なぜこのようなことが起こるのでしょうか?

私が読んだところによると、端末が raw モードの場合、文字は端末ドライバーによって処理されず、そのまま送信されます。

コマンドを使用してターミナルを raw モードに設定するstty rawと、出力がスペースがなくなるまで毎回右にインデントされることに気付きました。これは次のことを意味します。

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

なぜこのような動作が起こるのでしょうか?

答え1

の1つstty設定 (onlcr)はターミナルドライバー変換する改行(実際は ASCII の改行) を復帰と改行に変換します。

Unix系システムは、改行行末に、端末ドライバが適切な処理(改行復帰改行に変換します。

キャリッジリターンは「左へ」、ラインフィードは「下へ」進みます。

端末をrawモードに設定すると、改行復帰改行文字に変換されなくなります。復帰改行文字がなくなると、階段効果。

関連情報