stdin入力の終わりを知らせる方法

stdin入力の終わりを知らせる方法
  1. Bashでは、ここのドキュメントから終了信号を変更できることを学びました。しかし、基本的に入力の終わりを知らせる方法は何ですかstdin
  2. cat偶然にandを使用すると、+表記でchardet入力を実行できることがわかりましたstdin。ところで、+と+は、実行中の命令の実行を終了するのと似ていることを覚えているようです。それで私は間違っていますか?CtrlDCtrlDCtrlC

ベストアンサー1

Ctrl+D、端末の行の先頭に入力した場合、入力が終了したことを示します。これはないシグナルUnixの意味では、アプリケーションが端末から読み取り、ユーザーがを押すと、ファイルの最後に到達したというCtrl+D通知がアプリケーションに渡されます(ファイルの最後のバイトを読み取って渡したかのように)。

Ctrl+C信号を送り、知能を知らせる。デフォルトでは、SIGINT(割り込み信号)はフォアグラウンドアプリケーションを終了しますが、アプリケーションは信号をキャプチャして別の方法で応答することができます(たとえば、シェル自体が信号をキャプチャして入力し始めた行を中断しますが、そうしません。 )終了しない場合は、新しいプロンプトが表示され、新しいコマンドラインが表示されるのを待ちます。

以下を使用して、ファイルの終わりとSIGINTに関連する文字を変更できます。sttyなどのコマンドはファイルの終わり文字をstty eof a生成し、SIGINT文字を無効にします。これはほとんど役に立ちません。 astty intr ^-

おすすめ記事