У меня есть рабочий процесс Automator, и одно из действий заключается в клонировании хранилища. Вот код для действия «Выполнить сценарий оболочки». Команда запускается в оболочке Bash, /bin/bash
если это имеет значение:
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 .
Теперь приложение Automator отлично работает на моей машине. Путь к git на моей машине (Macbook Pro): /usr/bin/git
(Я полагаю, я установил git на свою машину через XCode)
Но на машине моего коллеги (также Mac Pro) приложение Automator не работает. Фактически, вывод файла log.txt говорит:bash: git: command not found
Теперь на компьютере моего коллеги путь к git следующий: usr/local/git/bin
да, он другой, потому что он установил git через Google Git Installer для Mac OS X, но я не думаю, что это должно иметь значение, потому что в скрипте команда git это не абсолютный путь к команде, и, кроме того, мой коллега может нормально запускать git из скрипта Bash, но при прямом вызове из терминала.
Так что же дает? Почему рабочий процесс автоматизатора работает для меня, а не для моего коллеги?
В Bash или Unix должно быть что-то фундаментальное, чего я здесь не понимаю, но потерян.