Eu tenho um fluxo de trabalho do Automator e uma das ações é clonar um repositório. Aqui está o código para a ação 'Executar script do shell'. O comando é executado no shell Bash /bin/bash
se isso 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 .
Agora, o aplicativo Automator funciona bem na minha máquina. O caminho para o git na minha máquina (A Macbook Pro) é: /usr/bin/git
(acredito que instalei o git na minha máquina através do Xcode)
Mas na máquina do meu colega de trabalho (também um Mac Pro), o Automator App falha. De fato, a saída do arquivo log.txt diz:bash: git: command not found
Agora, na máquina do meu colega de trabalho, o caminho para o git é:, usr/local/git/bin
que, sim, é diferente porque ele instalou o git por meio do Google Git Installer para Mac OS X, mas não achei que fosse importante, porque no script o comando git não é um caminho absoluto para o comando e ainda mais, meu colega de trabalho pode executar o git normalmente a partir de um script Bash, mas quando invocado diretamente no Terminal.
Então, o que dá? Por que o fluxo de trabalho do automator funciona para mim, mas não para meu colega de trabalho?
Deve haver algo fundamental sobre o Bash ou o Unix que não estou entendendo aqui, mas estou perdido.