メソッドのフック
Posted feedbacks - Bash
bashやPOSIX-shでは、外部コマンドや内部コマンドよりシェル関数が優先して呼ばれます。いっぽう、commandコマンドを使うことにより、シェル関数を省いて外部コマンドや内部コマンドを呼べます。
これを組み合わせると、下のコードのようにして、外部コマンドをシェル関数でフックできます。
ただし、シェル関数はこの方法ではフックできません。
1 2 3 4 5 6 7 8 9 10 11 12 13 | ls() {
# before
echo '***** start *****'
# command itself
command ls "$@"
local result=$?
# after
echo '***** end *****'
return $result
}
|

todogzm
#6017()
Rating0/8=0.00
例えば、あるクラスのあるメソッドを実行する前に他の処理を呼びたい(例えばログやトランザクション開始など)。 また、そのメソッドの終了後にも何らかの後処理を呼びたい(トランザクション終了など)。
そのような、メソッドに対するフック処理を書いてください。 ライブラリを使用してメソッドのフックを実現した場合は ライブラリの名前を紹介してくれると助かります。
[ reply ]