Dispongo di un flusso di lavoro di Automator e una delle azioni consiste nel clonare un repository. Ecco il codice per l'azione "Esegui script shell". Il comando viene eseguito all'interno della shell di Bash /bin/bash
se questo è importante:
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 .
Ora l'app di Automator funziona correttamente sul mio computer. Il percorso per git sulla mia macchina (A Macbook Pro) è: /usr/bin/git
(credo di aver installato git sulla mia macchina tramite Xcode)
Ma sulla macchina del mio collega (anche un Mac Pro) l'app di Automator fallisce. Infatti, 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 attraverso Google Git Installer per Mac OS X, ma non pensavo che avrebbe dovuto importare perché nello script il comando git non è il percorso assoluto del comando e molto più il mio collega può eseguire git normalmente da uno script Bash ma quando viene richiamato direttamente dal terminale.
Quindi cosa dà? Perché il flusso di lavoro dell'automazione funziona per me, ma non per il mio collega di lavoro?
Ci deve essere qualcosa di fondamentale su Bash o Unix che non sto capendo qui ma sono perso.