localize dir com curinga e execute o status git não está funcionando

1

Quando eu corro

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

Eu recebo uma listagem de todos os diretórios chamados iptp *

Quando eu corro

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

Eu obtenho

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

Eu pareço que git status é executado no diretório pai em que a localização foi iniciada.

O que eu faço de errado?

    
por macbert 07.04.2017 / 18:04

1 resposta

3

Com -execdir , o comando é executado no diretório que contém a correspondência, isto é, o diretório pai do diretório cujo nome começa com “iptp”.

Você poderia procurar por .git com um caminho correspondendo iptp* :

find -maxdepth 2 -type -d -name .git -path "*/iptp*/*" -execdir git status \;
    
por 07.04.2017 / 18:11

Tags