"trap"で設定したハンドラを使用して、bashインタラクティブシェルがシグナルを処理する方法をどのようにテストできますか?

bashインタラクティブシェルでシグナルハンドラを設定するためのtrapコマンド(例trap "echo You hit control-C!" INT:)を実行すると、bashインタラクティブシェルがシグナルを処理する方法が設定されますか?

私が設定したハンドラを使用してbashインタラクティブシェルがシグナルを処理するかどうかをどのようにテストしますかtrap

つまり、生成された信号をテストできますか?

  • Bashインタラクティブシェルから?
  • シェルで動作する端末エミュレータで?

それとも、bashインタラクティブシェルまたはターミナルエミュレータの外部でテストする必要がありますか?

ありがとうございます。

ベストアンサー1

kill以下を使用して、現在のシェルにシグナルを送信して、ハンドラが設定されているシェル内でハンドラをテストできます。

kill -INT $$

-INTテストしたいトラップと一致するように変更します。

おすすめ記事