ワイルドカードを使用してディレクトリを検索し、git status を実行できない

ワイルドカードを使用してディレクトリを検索し、git status を実行できない

走るとき

find -maxdepth 1 -type d -name 'iptp*' -execdir bash -c "ls {}" \;

iptp*という名前のすべてのディレクトリのリストを取得します

走るとき

find -maxdepth 1 -type d -name 'iptp*' -execdir bash -c "git status {}" \;

私は

fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).

git statusfind が開始された親ディレクトリで実行されるようです。

何が間違っているのでしょうか?

答え1

を使用すると-execdir、コマンドは一致を含むディレクトリで実行されます。つまり名前が「iptp」で始まるディレクトリの親ディレクトリ。

.git代わりに、パス一致するものiptp*:

find -maxdepth 2 -type -d -name .git -path "*/iptp*/*" -execdir git status \;

関連情報