0

でトラップDEBUGを有効にしました

function my_trap ()
{
    # some code in here
}
trap 'my_trap' DEBUG


その後、しばらく無効にする必要があったので、無効にしました

trap - DEBUG


now :
同じトラップを再度有効にするにはどうすればよいですか?
.. 書き換えなし:

trap 'my_trap' DEBUG

トラップ関数の名前を変更する場合、変更する必要があるのは 1 か所だけなので、これを書き直すつもりはありません。

4

1 に答える 1

1

次の方法しか見つかりませんでした。

traps=$( trap )
declare regex="'([^']+)' DEBUG"
[[ ${traps} =~ ${regex} ]]
trap "${BASH_REMATCH[1]}" DEBUG

もっとエレガントなものはありますか?

于 2013-02-03T19:13:45.487 に答える