Ho un flusso di lavoro di Automator e una delle azioni è clonare un repository. Ecco il codice per l'azione "Esegui script shell". Il comando viene eseguito all'interno della shell Bash /bin/bash
se è 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 .
Ora l'app Automator funziona perfettamente sulla mia macchina. Il percorso per git sul mio computer (A Macbook Pro) è: /usr/bin/git
(credo di aver installato git sul mio computer tramite Xcode)
Ma sulla macchina del mio collega (anche un Mac Pro) l'app Automator fallisce. In effetti, l'output del file log.txt dice:bash: git: command not found
Ora sulla macchina del mio collega il percorso per git è: usr/local/git/bin
che, sì, è diverso perché ha installato git tramite Google Git Installer per Mac OS X, ma non pensavo che dovesse importare perché nello script il comando git non è il percorso assoluto del comando e inoltre il mio collega può eseguire git normalmente da uno script Bash ma quando viene invocato direttamente dal Terminale.
Quindi cosa dà? Perché il flusso di lavoro dell'automatore funziona per me ma non per il mio collega?
Ci deve essere qualcosa di fondamentale in Bash o Unix che non capisco qui ma mi sono perso.