Tengo un flujo de trabajo de Automator y una de las acciones es clonar un repositorio. Aquí está el código para la acción 'Ejecutar script de Shell'. El comando se ejecuta dentro del shell Bash /bin/bash
si eso es importante:
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 a git en mi máquina (A 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 una 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 a git es: usr/local/git/bin
que sí es diferente porque instaló git a través del instalador de Google Git para Mac OS X, pero no pensé que debería importar porque en el script el comando git no es una ruta absoluta al comando y, además, mi compañero de trabajo puede ejecutar git normalmente desde un script Bash pero cuando se invoca directamente desde la Terminal.
Entonces, ¿qué da? ¿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 entiendo aquí pero estoy perdido.