2016-09-13 11 views
4

Bashで(現在のセッションまたはスクリプトで)trapが設定されていることを確認する方法はありますか?Bashにトラップが設定されているかどうかをチェック

理想的には、trapが割り当てられた信号のリストを取得できますが、それができない場合は、各信号を個別にチェックするだけで済みます。

$ trap 
trap -- 'f' SIGINT 
trap -- '' SIGTSTP 
trap -- '' SIGTTIN 
trap -- '' SIGTTOU 
+0

私は他のStackOverflowの質問をグーグルと検索からこの上の任意の情報を見つけることができませんでした驚いていますので、私は驚かないだろうもし私がちょうど見つけられなかった重複したものがあれば。 –

+2

あなたは 'trap'を入力しようとしましたか? –

+0

@ Jean-FrançoisFabre明らかにそうではありません!まあ、今私は気が気になりません。 –

答えて

3

はい

$ function f 
> { 
> echo trapped 
> } 

するのは、SIGINTに割り当てられている機能に

$ trap f SIGINT 

レッツ・リストセットトラップをトラップを設定してみましょう:

5

次のようにの関数を定義してみましょう。

あなたが特定の信号のためにすべてのトラップ、またはトラップを見ることができ、次のいずれか

$ trap   # show all traps for all signals 
$ trap -p SIGINT # only show traps for SIGINT 
$ trap -p EXIT # only show traps for EXIT 
関連する問題