"onlcr" sttyフラグについて混乱

"onlcr" sttyフラグについて混乱

内部にstty 文書、以下を述べました。

[-]icrnlキャリッジリターンを改行に変換

[-] inlcr改行文字をキャリッジリターン文字に変換

* [-]ocrnl キャリッジリターン文字を改行文字に変換

* [-]onlcr改行文字をキャリッジリターンと改行文字に変換

icrnlとの「cr」は「キャリッジリターン」を意味しますがinlcrocrnlonlcr

これはタイプミスですか、それとも実際に動作するのですか(例:にonlcr翻訳されています)?\n\r\n

答え1

タイプミスではなく実際にそうです。POSIXはまた、次のように言います。:

onlcr(-onlcr)

出力時にNLをCR-NLにマッピング(マッピング解除)します。これは、XBD General Terminal Interfaceで定義されているように、termios c_oflagフィールドでONLCRを設定(設定しない)する効果があります。

モードが「onlcrnl」と呼ばれないという事実は、おそらく設定名を短く一貫して(または少なくとも一貫して短く)維持することです。

理論的根拠セクションは、標準がSystem Vで採用されていることを示しているsttyため、以前のシステムとの下位互換性も考慮する必要があると仮定しています。

関連情報