現在、bashから実行される単体テストをいくつか行っています。ユニットテストは、bashスクリプトで初期化、実行、クリーンアップされます。このスクリプトには、通常、init()、execute()、およびcleanup()関数が含まれています。ただし、必須ではありません。定義されているかどうかをテストしたいと思います。
私は以前ソースを手探りで落ち着かせることでこれを行いましたが、それは間違っているようでした。これを行うためのよりエレガントな方法はありますか?
編集:次のスニペットは魅力のように機能します:
fn_exists()
{
LC_ALL=C type $1 | grep -q 'shell function'
}
type -tおよびを使用してgrepを保存できます==。
type test_functionいるtest_function on funktio.ときとist eine Funktionドイツ語を使用しているとき。
LC_ALL=Cでのresque
fn_exists foo || foo() { :; }