Как я могу перезагрузить
.bash_profile
из командной строки ?
Я могу заставить оболочку распознавать изменения .bash_profile
, выйдя и войдя обратно, но я бы хотел сделать это по требованию.
bash
shell
command-line
markdorison
источник
источник
alias BASHRELOAD=". ~/.bash_profile"
. Если вы делаете это часто, вы можете просто использовать псевдоним какbr
.alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
Просто убедитесь, что у вас нет никаких зависимостей от текущего состояния.
источник
.
команда в этом случае?.
это просто псевдонимsource
команды..
старшеsource
IS.source
является специфической реализацией bash.
.
иsource
буквально то же самое в bash. По ссылке: «source
это синоним точки / периода».
в bash, но не в POSIX sh, поэтому для максимальной совместимости используйте точку ».Просто введите:
Однако, если вы хотите, чтобы исходный код запускался автоматически при запуске терминала, а не каждый раз, когда вы открываете терминал, вы можете добавить его
. ~/.bash_profile
в~/.bashrc
файл.Замечания:
Когда вы открываете терминал, терминал запускает bash в интерактивном режиме (не входящем в систему), что означает, что он будет источником
~/.bashrc
.~/.bash_profile
Получается только от bash при запуске в режиме интерактивного входа . Обычно это происходит только при входе в консоль ( Ctrl+ Alt+ F1.. F6) или при подключении черезssh
.источник
Вы также можете использовать эту команду для перезагрузки ~ / .bash_profile для этого пользователя. Обязательно используйте тире.
источник
Мне нравится тот факт, что после того, как вы только что отредактировали файл, все, что вам нужно сделать, это набрать:
Это источник файла, который вы только что отредактировали в истории. Посмотрите, что такое взрыв доллара в bash .
источник
cd
. .bash_profile
источник
cd
. Нет необходимости~
.cd
- вы можете просто перезагрузить его из каталога, в котором вы сейчас находитесь:. ~/.bash_profile
Если вы не против потерять историю вашего текущего терминала оболочки, вы также можете сделать
bash -l
Это раскроет вашу оболочку и откроет еще один дочерний процесс bash.
-l
Параметр говорит Баш для работы в качестве оболочки, это необходимо потому , что .bash_profile не будет работать , как нерегистрированная оболочка, для получения дополнительной информации об этом читайте здесьЕсли вы хотите полностью заменить текущую оболочку, вы также можете сделать:
exec bash -l
Вышеприведенное не будет разветвлять вашу текущую оболочку, но полностью ее заменит, поэтому при вводе
exit
она полностью прекратит работу, а не перенесет вас в предыдущую оболочку.источник
Добавьте
alias bashs="source ~/.bash_profile"
в ваш файл bash. Так что вы можете позвонить вbashs
следующий разисточник
reset
- легче запомнитьЕсли файл .bash_profile не существует, вы можете попробовать выполнить следующую команду:
или
вместо .bash_profile. Вы можете найти больше информации о bashrc
источник
Я хотел бы опубликовать быстрый ответ, который, хотя использование
source ~/.bash_profile
или ответы, упомянутые выше, работают, стоит упомянуть, что это только перезагружает ваш профиль bash в текущей вкладке или сеансе, который вы просматриваете. Если вы хотите перезагрузить свой профиль bash на каждой вкладке / оболочке, вам нужно вручную ввести эту команду в каждую из них.Если вы используете iTerm, вы можете использовать CMD⌘+ Shift+, Iчтобы ввести команду во все текущие вкладки . Для терминала может быть полезно обратиться к этой проблеме ;
источник
вам просто нужно напечатать
. ~/.bash_profile
см .: /superuser/46139/what-does-source-do
источник
Я использую Debian, и я могу просто напечатать,
exec bash
чтобы достичь этого. Я не могу сказать, будет ли это работать на всех других дистрибутивах.источник
. .bash_profile
находясь в вашем домашнем каталоге на Mac, и сделает эту работу. То же, что и ответ, приведенный выше 7urkm3n.или если хотите добавить логи через функции
источник
. ~/. bash_profile
ниsource ~/.bash_profile
Я использую Sierra и некоторое время работал над этим (пробовал все рекомендуемые решения). Я запутался, поэтому в конце концов попытался перезагрузить компьютер! Это сработало
я пришел к выводу, что иногда необходим жесткий сброс
источник