使用通配符查找目录并运行 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 status是在启动 find 的父目录中运行的。

我做错了什么?

答案1

使用 时-execdir,该命令在包含匹配项的目录中运行,IE名称以“iptp”开头的目录的父目录。

您可以.git使用小路匹配iptp*

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

相关内容