Find
使用萬用字元查找目錄並執行 git status not working
當我跑
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 開始的父目錄中執行。我做錯了什麼?
使用
-execdir
,命令在包含匹配項的目錄中執行,即名稱以“iptp”開頭的目錄的父目錄。
.git
您可以改為尋找路徑匹配iptp*
:find -maxdepth 2 -type -d -name .git -path "*/iptp*/*" -execdir git status \;