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

StackOverflow https://stackoverflow.com/questions/4608187

  •  25-09-2019
  •  | 
  •  

Вопрос

Как я могу перезагрузить .bash_profile из командной строки? Я могу получить оболочку, чтобы узнать изменения в .bash_profile Выходя и вхожу в вход, но я хотел бы иметь возможность сделать это по требованию.

Это было полезно?

Решение

Просто введите source ~/.bash_profile

В качестве альтернативы, если вам нравится сохранять нажатия клавиш, вы можете ввести . ~/.bash_profile

Другие советы

. ~/.bash_profile

Просто убедитесь, что у вас нет зависимостей в текущем состоянии.

Просто введите:

. ~/.bash_profile

Тем не менее, если вы хотите источник запускаться автоматически, когда терминал запускается вместо того, чтобы запустить его каждый раз, когда вы открываете терминал, вы можете добавить . ~/.bash_profile к ~/.bashrc файл.

Примечание:

Когда вы открываете терминал, терминал запускает Bash In (не вход в систему) интерактивный режим, что означает, что он будет источником ~/.bashrc.

~/.bash_profile только благодаря Bash при запуске Интерактивный режим входа в систему. Отказ Это обычно только при входе на консоль (Ctrl+Alt.+F1...F6.) или подключение через ssh.

Вы также можете использовать эту команду для перезагрузки ~ / .bash_profile для этого пользователя. Обязательно используйте тире.

su - username

Мне нравится тот факт, что после того, как вы только что отредактировали файл, все, что вам нужно сделать, это сделать:

. !$

Это источники файл, который вы только что отредактировали в истории. Видеть Что такое доллар взрыва в Bash.

  1. Сохранять .bash_profile файл
  2. Домашнее каталог пользователя, набрав cd
  3. Перезагрузить профиль с . .bash_profile

Если вы не против потерять историю вашего текущего терминала Shell, вы также можете сделать

bash -l

Это было бы вилочную вашу раковину и открыть другой детский процесс Bash. То -l PARAMETER говорит Bash запустить в качестве оболочки входа в систему, это требуется, потому что .bash_profile не будет работать в качестве несторонней оболочки, для получения дополнительной информации об этом Читайте здесь

Если вы хотите полностью заменить текущую оболочку, вы также можете сделать:

exec bash -l

Приведенное выше не будет вилять вашу текущую оболочку, но полностью заменить его полностью, поэтому при наличии exit Он полностью прекращается, вместо того, чтобы бросить вас на предыдущую оболочку.

Добавлять alias bashs="source ~/.bash_profile" в вашем файле Bash. Так что вы можете позвонить bashs С следующего раза

вам просто нужно печатать . ~/.bash_profile

ссылаться: https://superuser.com/questions/46139/what-does-source-do

Если .bash_profile не существует, вы можете попробовать выполнить следующую команду:

. ~/.bashrc 

или

 source ~/.bashrc

вместо .bash_profile. Вы можете найти больше информации о Bashrc.

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

Если вы используете ITERM, вы можете использовать Cmd⌘.+Сдвиг+я Чтобы ввести команду на все текущие вкладки. Отказ Для терминала это может быть полезно для ссылки на это проблема;

Я использую Debian, и я могу просто ввести exec bash для достижения этой цели. Я не могу сказать, будет ли он работать со всеми другими распределениями.

Я бегу в Сьерра, и работал над этим некоторое время (пытаясь все рекомендуемые решения). Я стал смущенным, поэтому в конце концов попытался перезапустить свой компьютер! Это сработало

Мой вывод состоит в том, что иногда требуется жесткий сброс

alias reload!=". ~/.bash_profile"

или если хочу добавить журналы через функции

function reload! () {
    echo "Reloading bash profile...!"
    source ~/.bash_profile
    echo "Reloaded!!!"
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top