bashでCTRL + 4(およびCTRL + \)は何をしますか?

bashでCTRL + 4(およびCTRL + \)は何をしますか?

ただコマンドラインから入力を読み取るプログラムをCTRL閉じることを誤って見つけました。 4 stdin

プログラムでCTRL+4または+を入力すると、CTRL次のように表示されます。/stdin

$ cat
wefwef
wefwef
^\Quit
$ bc
bc 1.06.95
Copyright 1991-1994, 1997, 1998, 2000, 2004, 2006 Free Software Foundation, Inc.
This is free software with ABSOLUTELY NO WARRANTY.
For details type `warranty'. 
^\Quit
$

表示が表示されると^\Quitプログラムが閉じます。 orを使用するのとどのように^C比較されますか^D^\Quit効果は何ですか?

編集する:Discover CTRL+ は\同じことを行います。

ベストアンサー1

Ctrl+4 を送信^\

端末はキー以外の文字(またはより正確にはバイト)を送信します。印刷可能文字を表すキーを押すと、端末はその文字をアプリケーションに送信します。ほとんどのファンクションキーは、エスケープシーケンス(グリフ27で始まる文字シーケンス)としてエンコードされています。Ctrl+フォームの一部のキーボードcharacterと一部のファンクションキーは制御文字として送信されます。ASCII文字セット、すべての最新のコンピュータがデフォルトで使用する(Unicode、ISOラテン語 -NなどはすべてASCIIの親セットです)、33文字は制御文字です(文字番号0〜31、127)。制御文字は印刷できませんが、アプリケーション内で影響を与えるためのものです。たとえば、文字10、Control-J(しばしば^ Jで示される)は改行文字なので、端末がこの文字を表示すると、カーソルは次に移動します。グリフを表示する代わりに、次の行。エスケープ文字自体は制御文字^[(値27)です。

Ctrlすべての+characterキーコードを含めることができる制御文字が不十分です。文字と文字だけに対応@[\]^_?する制御文字があります。Ctrl+4またはCtrl+(+ +$私の考えでは)を押すと、端末から何を送信するかを選択する必要があります。端末とその構成に応じていくつかの一般的な可能性があります。CtrlShift4

  • 端末はCtrl修飾子を無視し、文字または4を送信します$
  • 端末は、押された正確なキーと修飾子をエンコードするエスケープシーケンスを送信します。
  • 端末は他の制御文字を送信します。

多くの端末は、数値行の特定のキーの制御文字を送信します。

  • Ctrl+ 2→^@
  • Ctrl+ 3→ ^[
  • Ctrl+ 4→ ^\
  • Ctrl+ 5→^]
  • Ctrl+ 6→^^
  • Ctrl+ 7→^_
  • Ctrl+ 8→^?

この特別な大会がどこから来たのかわかりません。

Ctrl+ は + +|と同じ文字を送り、端末は Shift キーを押したか押さなかったかに関係なく ^\ を送ります。CtrlShift\

^\終了

端末自体(より正確にはカーネルの一般的な端末サポート)は一部の制御文字を排他的に解釈します。この解釈は、他の文字をマッピングするように構成したり、文字自体を処理したいアプリケーションから解放したりできます。よく知られている解釈の1つは、^ M(キー押下によって送信された文字)がReturn現在の行をアプリケーションに送信し、端末が調理モードここで、アプリケーションは1行ずつ入力を受け取ります。

いくつかの文字を送るシグナルフォアグラウンドアプリケーションとして。 ^Cを送信割り込み信号(SIGINT)は通常、アプリケーションに実行中の操作を停止し、ユーザーの次のコマンドを読み取るように指示します。非対話型アプリケーションは通常終了します。 ^\送信出口信号(SIGQUIT)は通常、何も保存せずにできるだけ早くアプリケーションを終了するように指示します。多くのアプリケーションは、アプリケーションをすぐに終了するデフォルトの動作をオーバーライドしません。したがって、またはでCtrl+ 4(または^ \文字を送信するすべての項目)を押すと、どちらもデフォルトの動作をオーバーライドせず、アプリケーションが終了します。catbc

端末自体は^\メッセージの一部を印刷します。これは入力した文字の視覚的な説明であり、端末は書き込みモードにあり、エコーはオンになっています(文字は入力した直後に端末に表示されます)。 - 文字がアプリケーションにのみ送信されるエコモードでは、アプリケーションが文字を表示するように選択することも選択しない場合もあります。そのQuit部分はbashから来ています。終了シグナルは子プロセスが終了したことに気づき、それを知らせます。

シェルはすべての共通信号を処理するため、シェルに ^\ と入力するとセッションは終了せず、^C と同じ新しいプロンプトが表示されます。

端末設定を使用してこれを行うことができます。stty注文する。

¹伝統的にコアダンプただし、多くのシステムではデフォルトでこれを無効にします。

おすすめ記事