Tengo un flujo de trabajo de Automator y una de las acciones es clonar un repositorio. Aquí está el código de la acción 'Ejecutar Shell script'. El comando se ejecuta dentro del shell Bash /bin/bash
si es que eso importa:
SOURCEDIR="${3/\/Volumes/}"
cd "$2"
REPOURL="bob@somedomain.com:$SOURCEDIR"
WORKINGDIR="$1"
# Capture any errors with cloning process in log file
git clone "$REPOURL" "$WORKINGDIR" &> ./log.txt
// For debugging
echo "exit code: $?"
echo "PPID: $PPID"
open .
Ahora la aplicación Automator funciona bien en mi máquina. La ruta de acceso a git en mi máquina (Un Macbook Pro) es: /usr/bin/git
(Creo que instalé git en mi máquina a través de Xcode)
Pero en la máquina de mi compañero de trabajo (también un Mac Pro) la aplicación Automator falla. De hecho, la salida del archivo log.txt dice: bash: git: command not found
Ahora en la máquina de mi compañero de trabajo la ruta de acceso a git es: usr/local/git/bin
, que sí, es diferente porque él instaló git a través del instalador de Google Git para Mac OS X, pero no creí que debiera importar porque en el script el comando git no es la ruta absoluta al comando y además mi compañero de trabajo puede ejecutar git normalmente desde un Bash script pero cuando se invoca directamente desde la Terminal.
Entonces, ¿qué pasa? ¿Por qué el flujo de trabajo del automatizador funciona para mí pero no para mi compañero de trabajo?
Debe haber algo fundamental sobre Bash o Unix que no estoy entendiendo aquí pero estoy perdido.