У мене є робочий процес Автоматизатора, і одна з дій полягає в клонуванні сховища. Ось код дії "Запустити скрипт оболонки". Команда виконується в оболонці 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 повинно бути щось принципове, чого я тут не розумію, але я загублений.