
cuando corro
find -maxdepth 1 -type d -name 'iptp*' -execdir bash -c "ls {}" \;
Obtengo una lista de todos los directorios llamados iptp*
cuando corro
find -maxdepth 1 -type d -name 'iptp*' -execdir bash -c "git status {}" \;
yo obtengo
fatal: Not a git repository (or any parent up to mount parent )
Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set).
Parece que git status
se ejecuta en el directorio principal donde se inició la búsqueda.
¿Qué hago mal?
Respuesta1
Con -execdir
, el comando se ejecuta en el directorio que contiene la coincidencia,es decirel directorio principal del directorio cuyo nombre comienza con “iptp”.
En su lugar, podrías buscar .git
con uncaminocoincidencia iptp*
:
find -maxdepth 2 -type -d -name .git -path "*/iptp*/*" -execdir git status \;