ttyに入力した文字がなぜ表示されないのですか? [コピー]

ttyに入力した文字がなぜ表示されないのですか? [コピー]

Enter TTY1を押しますCtrlAltF1。私はしばらく主にvimで働いていましたが、シェルはエコーを止めました。

入力しないでecho abcください。

代わりに、次の画面が表示されます。 カスケードライン付きのBashシェル

この問題をどのように解決できますか?

答え1

ttyさまざまな状況で動作できる複雑な獣です。モデル。たとえば、vi(1)を実行するといいえ入力した文字が画面に表示されることを望み、表示される内容は編集者が担当します。これを「生」モードといいます。通常、カーネルがユーザーが入力した内容を画面に直接送信する「エコー」モードにあります。詳細の表示を担当するプログラムがクラッシュして終了する前に回復モードがない場合は、入力するとすべての種類の奇妙な内容が表示されます。設定を混乱させるもう1つの一般的な方法は、バイナリファイル(実行ファイルや画像など)を画面に送信することです。これには、設定を変更するキーシーケンスを簡単に含めることができます。

設定を再び正常に戻す方法は、tty次のコマンドを実行することです。reset、これは^Jreset^J(ctrl-J、CtrlとJキーを同時に押す)を介して^J行われます。

ctrl-JC ではこれを "\n", NEWLINE と呼びます。 これはシェルが読み込んでいる前の行を終了します (存在する場合)。resetこれはctrl-J行を終了し、シェルにコマンドを実行させます。このようなナンセンスは、リターンキーがキャリッジリターン文字である '\r' を生成し、通常モードでは便宜上 '\n' に変換されるため必要です。

Unixの根の複雑な内容へようこそ。

関連情報