シェル関数をオーバーライドして元のものへの参照を保持することは可能ですか?シェル関数をオーバーライドし、元のものへの参照を保持する
f() { echo original; }
f() { echo wrapper; ...; }
f
これの出力は次のようになります。
wrapper
original
が、これは半ポータブルな方法で可能ですか?
根拠:プログラムの一部を、呼び出しをログファイルに記録するシェル関数で置き換えてプログラムをテストしようとしています。これは、コマンドや組み込み関数をラップするだけで、無差別なログを気にしない限り、うまく動作します。今度は、各テストで興味深い部分を記録するだけで、テストスイートをよりメンテナンス可能にしたいと思っています。
は、それでは、私のプログラムはf
、g
、h
は、すべてのシェル関数です
f
g
h
で構成しましょう、と私はちょうどg
の実行をトレースしたいと思います。
何がなく、非常に移植性、行うことができますしたいです。 –