와일드카드를 사용하여 디렉터리를 찾고 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 \;

관련 정보