もしあなたがそうするなら:
stty eol =
そして、自分の中で提案され、デモ実行EDITを、次のように表示されますFOOバーをプリントアウトしてtest.outに。端末の回線制御は、入力内の各特別なeol文字を読み取るときに、その出力をリーダーにフラッシュします。
Linuxの標準モード端末-で設定できるstty icanon
か、おそらくは単にstty sane
-次の特別な入力文字を処理します...
- eof
- デフォルト:
^D
- 入力行を終了し、出力をリーダーにフラッシュします。入力から削除されるため、行の唯一の文字として入力された場合、null読み取り(またはファイルの終わり)としてリーダーに渡されます。
- えろ
- デフォルト:未割り当て
- 入力行も終了しますが、入力から削除されません。
- 殺します
- デフォルト:
^U
- バッファされた入力をすべて消去します。
- 消す
- デフォルト:(
^H
または場合によって@
または^?
一部のシステム)
- 最後にバッファリングされた入力文字を消去します。
ときIEXTENがも設定されている-と同様stty icanon iexten
か、もう一度、おそらくstty sane
、標準的なLinuxのターミナルも処理します...
- eol2
- デフォルト:未割り当て
- また、入力行も終了し、入力からも削除されません。
- わせ
- デフォルト:
^W
- 最後にバッファリングされた入力ワードを消去します。
- rprnt
- デフォルト:
^R
- バッファリングされたすべての入力を再印刷します。
- lnext
- デフォルト:
^V
- 行規則が直後の入力文字に関する限り、特別な意味を削除します。
除く-これらの文字は、入力ストリームからそれらを除去することにより、処理されEOLとeol2あり、 -そして読者に加工ストリームを渡す前に、関連する特別な機能を実行する-通常あなたのシェルですが、フォアグラウンドプロセスグループが何であれかもしれません。
同様に処理されるが、任意の独立に設定することができ、他の特殊入力文字ICANONの設定が含まISIGセット-のように設定stty isig
し、おそらくに含ま正気の構成を:
- 終了する
- デフォルト:
^\
- バッファされたすべての入力をフラッシュし(noflshが設定されていない場合)、SIGQUITをフォアグラウンドプロセスグループに送信します-おそらくコアダンプを生成します。
- サスペ
- デフォルト:
^Z
- バッファされた入力をすべてフラッシュし(noflshが設定されていない場合)、SIGTSTPをフォアグラウンドプロセスグループに送信します。中断されたプロセスグループは、ジョブ制御シェルのいずれか
kill -CONT "$!"
または()fg
で再開できます。set -m
- intr
- デフォルト:
^C
- バッファされた入力をすべてフラッシュし(noflshが設定されていない場合)、SIGINTをフォアグラウンドプロセスグループに送信します。
そして、IXONのセット-のように構成stty ixon
しても通常に含ま正気の設定:
- やめる
- デフォルト:
^S
- 入力でstartが読み取られるか、またはixanyも設定されている場合、少なくとも1つ以上の文字が読み取られるまで、リーダーへのすべての出力を停止します。
- 開始
- デフォルト:
^Q
- 以前にstopで停止された出力を再開します。
- 処理時に停止と開始の両方が入力から削除されますが、ixanyが設定されているときに入力の文字が原因で出力が再開された場合、その文字は削除されません。
他の非Linuxシステムで処理される特殊文字には、次のものが含まれます。
- 流す
- デフォルト:
^O
- バッファリングされた入力の破棄とフラッシュを切り替え、入力から削除します。
- dsusp
- デフォルト:未割り当て
- リーダーが割り当てられた特殊入力文字を読み取り、SIGTSTPを送信した場合にのみ、すべてのバッファリングされた入力をフラッシュします。
そしておそらく...
- あれ
- デフォルト
^@
(\0
またはを意味するNUL
)
- 前景のシェルレイヤーを切り替えます。一部のシステムで
shl
シェルレイヤーアプリケーションで使用するため。
- 実装
shl
多重化のptyとするジョブ制御ではなく、元の実装のと互換性を持つようになりSWTCH依存挙動は自由であったことができheirloom-toolchest
ツールスイート。
これらの入力関数がどのように、そしてなぜ(そしておそらくなぜそうではないか)処理されるより明確な画像については、を参照してくださいman 3 termios
。
上記のすべての機能は、該当する場合に割り当てることができます(または再割り当て)stty
function assigned-key
。単一の機能を無効にするには、を実行します。また、様々なGNUのすべてと、前述の行編集機能のいずれかの割り当てと試み、AST、または家宝のような実装を示しているように見える、あなたもできるようNULのいずれかの機能の割り当ては、それを設定するに等しいように思わ割り当てられていない私のLinux上でシステム。stty
function
^-
stty
stty
function
^@
おそらく、あなたが見る行うエコーあなたがそれらを入力し、これらの文字のを(おそらくワット/設定することができるよう- ctlecho [] )が、これは唯一のあなたがやったところをお見せするためのマーカーである-プログラムは、あなたの入力を受信すると、その概念はありませんそれらをタイプ(除くEOL [2]であるが、)およびライン規律がその効果を適用しているにご入力の唯一のコピーを受け取ります。
端末がさまざまな行編集機能を処理する結果、入力する必要があると指示した機能を実行するために、入力をある程度バッファリングする必要があります。したがって、無限の入力を行うことはできません。あなたはいつでも殺すかもしれません。ラインバッファは、より正確であるキルバッファ。
入力で発生する区切り文字にeolまたはeol2文字を設定すると(たとえば、どちらも改行文字でもリターン文字でもない場合)、最後に発生したポイントとキルバッファまでしかキルできません。または改行-これらの次まで限り、それはできる限り延長する(場合はリターンICRNLが設定され、IGNCRがされていない) -入力で起こります。