Ich habe einen Automator-Workflow und eine der Aktionen besteht darin, ein Repository zu klonen. Hier ist der Code für die Aktion "Shell-Skript ausführen". Der Befehl wird in der Bash-Shell ausgeführt, /bin/bash
wenn es darauf ankommt:
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 .
Jetzt läuft die Automator App einwandfrei auf meinem Rechner. Der Pfad zum Git auf meinem Computer (A Macbook Pro) lautet: /usr/bin/git
(Ich glaube, ich habe Git über Xcode auf meinem Computer installiert.)
Aber auf dem Computer meines Kollegen (auch ein Mac Pro) schlägt die Automator-App fehl. Tatsächlich lautet die Ausgabe der Datei log.txt wie folgt:bash: git: command not found
Jetzt ist der Pfad zu git auf dem Computer meines Kollegen:, usr/local/git/bin
was ja anders ist, weil er git über den Google Git Installer für Mac OS X installiert hat, aber ich dachte nicht, dass es wichtig sein sollte, weil im Skript der Befehl git steht ist kein absoluter Pfad zum Befehl und außerdem kann mein Kollege git normal von einem Bash-Skript ausführen, aber wenn er direkt vom Terminal aus aufgerufen wird.
Also was gibt es? Warum funktioniert der Automator-Workflow bei mir, nicht aber bei meinem Kollegen?
Es muss etwas Grundlegendes an Bash oder Unix geben, das ich hier nicht verstehe, aber ich bin verloren.