J'ai un flux de travail Automator et l'une des actions consiste à cloner un référentiel. Voici le code de l'action «Exécuter le script shell». La commande est exécutée dans le shell Bash /bin/bash
si cela importe:
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 .
Maintenant, l'application Automator fonctionne correctement sur ma machine. Le chemin vers git sur ma machine (Un Macbook Pro) est: /usr/bin/git
(Je crois que j'ai installé git sur ma machine via Xcode)
Mais sur la machine de mon collègue (également un Mac Pro), l'application Automator échoue. En fait, la sortie du fichier log.txt indique:bash: git: command not found
Maintenant, sur la machine de mon collègue, le chemin vers git est:, usr/local/git/bin
ce qui, oui, est différent car il a installé git via Google Git Installer pour Mac OS X, mais je ne pensais pas que cela devrait avoir d'importance car dans le script, la commande git n'est pas un chemin absolu vers la commande et de plus mon collègue peut exécuter git normalement à partir d'un script Bash mais lorsqu'il est appelé directement depuis le terminal.
Alors qu'est-ce qui donne? Pourquoi le workflow de l'automatisme fonctionne-t-il pour moi mais pas pour mon collègue?
Il doit y avoir quelque chose de fondamental à propos de Bash ou Unix que je ne comprends pas ici mais je suis perdu.