Как перезагрузить .bash_profile из командной строки?
-
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.
- Сохранять .bash_profile файл
- Домашнее каталог пользователя, набрав
cd
- Перезагрузить профиль с
. .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!!!"
}