Как запустить файл ~/.bash_profile в терминале mac

Итак, я устанавливаю некоторые вещи для кодирования и личного использования, и мне нужно запустить это в терминале (я нахожусь на Mac, если вы не читали название).

~/.bash_profile

Он просто говорит, что разрешение отклонено, Im работает OSX 10.8.4 Mountain Lion. Как обходить это?

Ответ 1

Вы никогда не захотите запускать это, но можете захотеть его загрузить.

. ~/.bash_profile
source ~/.bash_profile

оба должны работать. Но это нечетный запрос, потому что этот файл должен быть отправлен автоматически при запуске bash, если вы явно не запускаете его не интерактивно. На странице man:

Когда bash вызывается как интерактивная оболочка входа или как неинтерактивная оболочка с опцией -login, она сначала считывает и выполняет команды из файла /etc/profile, если этот файл существует. После прочтения этого файла он ищет ~/.bash_profile, ~/.bash_login и ~/.profile в этом порядке и считывает и выполняет команды из первого, который существует и доступен для чтения. Опция -noprofile может использоваться, когда оболочка начинает блокировать это поведение.

Ответ 2

MacOS: добавьте source .bash_profile в конец ~/.zshrc. Тогда этот профиль будет действовать, когда вы открываете zsh.

Ответ 3

Если вы измените .bash_profile, он будет применяться только к новым сеансам терминала.

Чтобы применить его к существующему сеансу, запустите source ~/.bash_profile. Таким способом вы можете запустить любой скрипт Bash - подумайте о выполнении source так же, как о наборе команд в окне терминала (из указанного скрипта).

Подробнее: Как перезагрузить .bash_profile из командной строки?

Бонус: вы можете сделать переменные среды доступными для приложений OSX - не только для текущего сеанса Bash, но и для таких приложений, как Visual Studio Code или IntelliJ, - используя launchctl setenv GOPATH "${GOPATH:-}"

Ответ 4

Как сказал @kojiro, вы не хотите "запускать" этот файл. Источник, как он говорит. Он должен получить "источник" при запуске. Sourcing просто означает запуск каждой строки в файле, включая ту, которую вы хотите запустить. Если вы хотите убедиться, что папка находится в определенной переменной окружения пути (как вам кажется, из одного из комментариев к другому решению), выполните

$ echo $PATH

В командной строке. Если вы хотите проверить, что ваш файл ~/.bash_profile находится в исходном состоянии, либо при запуске, как и должно быть, либо когда вы его вручную загрузите, введите следующую строку в файл ~/.bash_profile:

$ echo "Hello I'm running stuff in the ~/.bash_profile!"

Ответ 5

Не нужно запускать, оно будет автоматически выполняться при запуске вашего терминала mac/ bash. Всякий раз, когда вы делаете изменения, вам может потребоваться перезапустить терминал.

~ - путь по умолчанию для .bash_profile

Ответ 6

Если проблема в том, что вы не видите, что ваши изменения в файле вступили в силу, просто откройте новое окно терминала, и оно будет "получено". Вы сможете использовать соответствующий PATH и т.д. С каждым последующим окном терминала.