Як я можу перезавантажити
.bash_profile
з командного рядка ?
Я можу змусити оболонку розпізнати зміни .bash_profile
, вийшовши та увійшовши назад, але я хотів би мати можливість це робити на вимогу.
Як я можу перезавантажити
.bash_profile
з командного рядка ?
Я можу змусити оболонку розпізнати зміни .bash_profile
, вийшовши та увійшовши назад, але я хотів би мати можливість це робити на вимогу.
Відповіді:
Просто введіть source ~/.bash_profile
Крім того, якщо вам подобається збереження натискань клавіш, ви можете набрати . ~/.bash_profile
alias reload='source ~/.bash_profile && echo "File .bash_profile reloaded correctly" || echo "Syntax error, could not import the file"';
. ~/.bash_profile
Просто переконайтесь, що у вас немає ніяких залежностей від поточного стану.
.
команда в цьому випадку?
.
просто псевдонім для source
команди.
.
старше, ніж source
є.
source
- це .
.
і source
буквально одне і те ж саме в bash. За посиланням: " source
є синонімом точки / періоду" .
"в bash, але не в POSIX sh, тому для максимальної сумісності використовуйте період".
Просто введіть:
. ~/.bash_profile
Однак, якщо ви хочете, щоб джерело його запускалося автоматично, коли термінал запускається замість того, щоб запускати його кожен раз, коли ви відкриваєте термінал, ви можете додати . ~/.bash_profile
до ~/.bashrc
файлу.
Примітка:
Коли ви відкриваєте термінал, термінал починає баш в інтерактивному режимі (не вхід в систему), що означає, що він буде джерелом ~/.bashrc
.
~/.bash_profile
отримується лише bash при запуску в режимі інтерактивного входу . Це, як правило, лише під час входу в консоль ( Ctrl+ Alt+ F1.. F6) або підключення через ssh
.
Ви також можете скористатися цією командою для перезавантаження ~ / .bash_profile для цього користувача. Обов’язково використовуйте тире.
su - username
Мені подобається те, що після того, як ви тільки що відредагували файл, все, що вам потрібно зробити, - це набрати:
. !$
Це джерело файлу, який ви щойно редагували в історії. Дивіться, що таке чудовий долар в баш .
cd
. .bash_profile
cd
. Не потрібно ~
.
cd
- ви можете просто перезавантажити його з каталогу, в якому ви зараз перебуваєте:. ~/.bash_profile
Якщо ви не проти втратити історію свого поточного терміналу оболонки, ви також можете це зробити
bash -l
Це розкладе вашу оболонку і відкриє ще один дочірній процес баш. -l
Параметр каже Баш для роботи в якості оболонки, це необхідно тому , що .bash_profile не працюватиме , як не реєструвалися оболонка, для отримання додаткової інформації про це читайте тут
Якщо ви хочете повністю замінити поточну оболонку, ви також можете зробити:
exec bash -l
Вищезгадане не розщепить вашу поточну оболонку, але замінить її повністю, тому при введенні exit
вона повністю припиниться, а не перекине вас на попередню оболонку.
Додайте alias bashs="source ~/.bash_profile"
у свій файл bash. Тож можна дзвонити bashs
з наступного разу
reset
- простіше запам’ятати
якщо .bash_profile не існує, ви можете спробувати виконати таку команду:
. ~/.bashrc
або
source ~/.bashrc
замість .bash_profile. Ви можете знайти більше інформації про bashrc
Я хотів опублікувати швидку відповідь, що під час використання source ~/.bash_profile
або згаданих вище відповідей працює одне, що слід зазначити, що це лише перезавантажує ваш баш-профіль на поточній вкладці або сесії, яку ви переглядаєте. Якщо ви хочете перезавантажити свій bash-профіль на кожній вкладці / оболонці, вам потрібно ввести цю команду вручну в кожну з них.
Якщо ви використовуєте iTerm, ви можете використовувати CMD⌘+ Shift+ Iдля введення команди у всі поточні вкладки . Для терміналу може бути корисним посилання на це питання ;
вам просто потрібно набрати . ~/.bash_profile
звертайтесь: /superuser/46139/what-does-source-do
Я використовую Debian і можу просто набрати текст, exec bash
щоб досягти цього. Я не можу сказати, чи буде це працювати на всіх інших дистрибутивах.
. .bash_profile
в домашній каталог на Mac зробить цю роботу. Те саме, що відповідь, дана вище 7urkm3n.
alias reload!=". ~/.bash_profile"
або якщо ви хочете додати журнали за допомогою функцій
function reload! () {
echo "Reloading bash profile...!"
source ~/.bash_profile
echo "Reloaded!!!"
}
. ~/. bash_profile
ніsource ~/.bash_profile
Я керую Сієррою, і працював над цим деякий час (пробуючи всі рекомендовані рішення). Я збентежився, тому врешті-решт спробував перезапустити комп’ютер! Це спрацювало
мій висновок полягає в тому, що іноді потрібен жорсткий перезавантаження
alias BASHRELOAD=". ~/.bash_profile"
. Якщо ви робите це часто, ви можете просто називати його якbr
.