内部にstty
文書、以下を述べました。
[-]icrnlキャリッジリターンを改行に変換
[-] inlcr改行文字をキャリッジリターン文字に変換
* [-]ocrnl キャリッジリターン文字を改行文字に変換
* [-]onlcr改行文字をキャリッジリターンと改行文字に変換
icrnl
との「cr」は「キャリッジリターン」を意味しますがinlcr
。ocrnl
onlcr
これはタイプミスですか、それとも実際に動作するのですか(例:にonlcr
翻訳されています)?\n
\r\n
答え1
タイプミスではなく実際にそうです。POSIXはまた、次のように言います。:
onlcr(-onlcr)
出力時にNLをCR-NLにマッピング(マッピング解除)します。これは、XBD General Terminal Interfaceで定義されているように、termios c_oflagフィールドでONLCRを設定(設定しない)する効果があります。
モードが「onlcrnl」と呼ばれないという事実は、おそらく設定名を短く一貫して(または少なくとも一貫して短く)維持することです。
理論的根拠セクションは、標準がSystem Vで採用されていることを示しているstty
ため、以前のシステムとの下位互換性も考慮する必要があると仮定しています。