当我跑步时
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 \;