Відповіді:
Якщо ви маєте на увазі перезавантаження конфігурації .bashrc, тоді:
source ~/.bashrc
Для меншого набору тексту можна замінити source
крапкою:. ~/.bashrc
source
є специфічним для bash. .
є більш стандартним. Обидва працюють однаково в басі.
Деякі доповнення, які я знайшов у вікні сторінки з команди reset / tset
ініціалізація терміналу скидання tset
команда: reset
Tset ініціалізує термінали. Tset спочатку визначає тип терміналу, який ви використовуєте. Це визначення здійснюється наступним чином, використовуючи перший знайдений тип терміналу.
Перевага, здається, полягає в тому, що вона не залежить від використовуваної оболонки. тут також працює з рибою.
Тому для повторної ініціалізації будь-якого терміналу просто зробіть-
$ tset
АБО
$ reset
Додатковим варіантом до цього exec bash
є те, що якщо ви змінили .profile
(або .bash_profile
), можете зробити це
$ exec bash --login
Це також прочитає ваш профіль ще раз. Не завадило б також додати -i
параметр, щоб явно сказати bash, що це інтерактивна оболонка, але вона зазвичай може зрозуміти це для себе.
Ви повинні замінити запущений додаток / оболонку на новий екземпляр. Наприклад, якщо ви використовуєте bash
в якості бажаної оболонки, введіть наступний рядок у командному рядку ( $ - заповнювач місця для початку вашого командного рядка):
> $ exec bash
Запущена програма / оболонка замінюється новим екземпляром, bash
подібним починаючи з нуля. Усі ваші попередні модифікації вже відсутні.
Зауваження: Не забувайте, що ваша термінальна програма може бути перепрограмована. Ви повинні скинути свою термінальну програму вручну.
Використовуйте exec sudo --login --user $USER
.
Якщо ви також хочете відхилити раніше введені команди (повне скидання терміналу), комбінуйте їх з reset
якreset; exec sudo --login --user $USER
У мережі є багато відповідей, але більшість насправді не працюють. Найпростіший спосіб перевірити - встановити, export SOMEVAR=42
а потім виконати команду, що нібито скидає, і виконати echo $SOMEVAR
. Якщо це 42, середовище не було скинуто.
Існує також exec -c bash -l
чи exec env -i bash -l
, але вони ламаються, як - то $ HOME змінна не встановлена після цього.
source ~/.bashrc
?