Brew обычно устанавливает файлы в /usr/local/Cellar
и символически связывает их с /usr/local/bin
.
$PATH
на этих новых коробках, вероятно, не содержит /usr/local/bin
. Итак, у вас есть два варианта:
Прочтите о brew и узнайте, куда будут установлены эти пакеты, проверьте статус выхода для brew install...
, а затем жестко задайте путь к новым бинарным файлам/скриптам, которые устанавливает brew, изменив свой скрипт, включив в него абсолютный пути.
Если brew install foo
сработало, то двоичный файл foo
должен быть доступен для вызова с помощью /usr/local/bin/foo
.
Это должно дать вам подсказку, сработало ли brew install
:
/usr/local/bin/brew install node@8
status=$(echo $?)
if [[ "$status" -ne 0 ]]; then
echo "Brew install node failed!"
exit 1
fi
...
Если вы хотите полностью автоматизировать этот скрипт, проверьте наличие ошибок при вызове команд и обработайте их .
Обновите системный путь, прежде чем сценарий попытается использовать его для разрешения команд. Это должно сработать:
#!/bin/bash
export PATH="/usr/local/bin:$PATH"
...
Это не зависит от окружения bash пользователя и должно исправить приведенные выше команды which
. Но подумайте, нужны ли в любом случае ваши новые коробки /usr/local/bin
в $PATH
?