trap - シグナルをトラップする

構文

trap [ action condition ... ]

trap -p [ condition ... ]

trap -l

説明

trap ユーティリティーは、 condition が発生したときに qsh によって実行される action を設定します。 qsh は、trap を実行しているときに action を展開し、condition が発生したときに再度展開します。

-p オプションを指定した場合、 trap は、指定した conditions についての現行の action を表示します。

-l オプションが指定されている場合、trap は、 すべてのシグナル名とその対応する番号のリストを表示します。

引数を何も指定しないと、trap は現在定義されているトラップをリスト表示します。

オプション

-l
すべてのシグナル名とその対応する番号のリストを表示します。
-p
各トラップを再入力可能な形式で表示します。

オペランド

action には次のものを指定できます。

condition には次のものを指定できます。

複数の条件が同時に発生した場合は、qsh は次の順序でトラップを実行します。

  1. DEBUG (指定されている場合)。
  2. ERR (指定されていて該当する場合)。
  3. その他の指定されているトラップ (シグナル番号順)。
  4. EXIT

終了状況

  1. ERR 条件についてトラップを設定する場合:
    trap `print Command failed' ERR
  2. ERR 条件を無視する場合:
    trap "" ERR
  3. ERR 条件を元の値にリセットする場合:
    trap - ERR
  4. ERR 条件についての現行のアクションを表示する場合:
    trap -p ERR
  5. 現在定義されているすべてのトラップを表示する場合:
    trap - シグナルをトラップする