起動時の制御信号の動作を変更する

起動時の制御信号の動作を変更する

を使って制御信号のデフォルトの動作を変更しようとしていますstty。 Ctrl+C、Ctrl+D、Ctrl+Z、Ctrl+\ などの信号です。 を使ってコンソール上でこれらの信号を無効および有効にする方法について、誰かアドバイスをいただけませんかstty

答え1

コマンド (およびキーの組み合わせ) を「トラップ」するには、次の操作を実行しますtrap

trap "echo CTRL+C not allowed" 2

CTRL+Cターミナルで使用すると、次のメッセージが表示されます。

CTRL+C not allowed

または、何も印刷せずにtrap "" 2単にトラップしたい場合。CTRL+C

トラップを解除するには、次のようにします。

trap - 2


トラップのマニュアルページを読むここ信号とトラップに関する詳しい情報はここ

答え2

トラップはCTRL+Zでは機能しません。CTRL+Zを指定すると、ハンドラは実行されず、コンソールは非対話型になります。

関連情報