再帰的にディレクトリを検索するbash関数

再帰的にディレクトリを検索するbash関数

特定の親ディレクトリを検索するbash関数を書く方法。これは私の設定です。

/home/user/dev/project1/branch1/deeply/nested/module/structure

開発者向けアプリケーションサーバーは次の場所にあります。

/home/user/dev/project1/branch1/apps/someappserver

コンパイルされたモジュールをアプリケーションサーバーにすばやくコピーし、アプリケーションサーバーを実行/停止し、特定のMavenターゲットを呼び出すなどのタスクを実行するために、ブランチのルートに再帰的に移動するbash関数が必要です。

どんなアイデアがありますか?各ブランチには、バージョンに関する正確な情報を含むmaven pom.xmlがあります。

ベストアンサー1

どうですか?

find_branch_root () {
    cwd=$PWD
    while [ ! -e "$cwd/pom.xml" ] && [ "x$cwd" != x/ ]; do
         cwd=`dirname "$cwd"`
    done
    echo "$cwd"
}

ルート(/)に達するか、「pom.xml」が見つかるまでパスからディレクトリを削除します。

おすすめ記事