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 shell script'. El comando se ejecuta dentro del shell Bash /bin/bash
si eso importa:
SOURCEDIR="${3/\/Volumes/}"
cd "$2"
REPOURL="[email protected]:$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 hacia 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 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 a git es: usr/local/git/bin
, lo cual, sí, es diferente porque instaló git a través del Google Git Installer para Mac OS X, pero no pensé que debiera importar porque en la secuencia de comandos, el comando git no es una ruta de acceso absoluta a la orden y, además, mi compañero de trabajo puede ejecutar git normalmente desde una secuencia de comandos 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 que estoy perdido.