Odśwież zmienne env po edycji pliku bashrc

59

Często edytowałem .bashrcplik, aby wyeksportować nowe zmienne środowiskowe.

Czy zamiast wygodniej odświeżyć konsolę i zamknąć nową i odświeżyć zmienne env?

xiaohan2012
źródło

Odpowiedzi:

78

W tym samym oknie możesz po prostu wpisać, bashaby rozpocząć nowe. Jest to równoważne z zamknięciem okna i ponownym otwarciem nowego.

Możesz też wpisać source ~/.bashrcźródło .bashrcpliku.

n0pe
źródło
7
Nie ma potrzeby wykonywania innej powłoki. sourcejest właściwy sposób
Matteo,
2
nie ma też potrzeby wpisywania długiego słowa source. można po prostu wpisać kropkę zamiast niego: . ~/.bashrc.
pędzi
4
Wpisywanie @Rush sourcepokazuje użytkownikowi, które polecenie jest wywoływane. Nie wierzę w pokazywanie skróconych poleceń nowym użytkownikom, dopóki nie zrozumieją, co robi kod.
n0pe
10
zwróć uwagę, że samo pozyskiwanie bashrc niekoniecznie oznacza ponowne uruchomienie bash. zdefiniowane zmienne nie są automatycznie niezdefiniowane. opcje powłoki nie są automatycznie cofane. sourcing bashrc wykonuje tylko to, co jest napisane w bashrc. nie przywraca żadnych innych zmian w środowisku. rozpoczęcie nowej sesji bash wewnątrz starego niekoniecznie oznacza ponowne uruchomienie bash, ponieważ nowy proces dziedziczy środowisko po starym.
lesmana
2
@MaxMackie Biorąc pod uwagę, w jaki sourcesposób bashizm, który wymaga dłuższego pisania, nie oferuje żadnych korzyści w stosunku do swojego przenośnego we wszystkich odpowiednikach powłok, .nie widzę sensu zachęcania nikogo, nowego lub doświadczonego, do korzystania z niego.
jw013,
21

Po prostu użyj

source ~/.bashrc

lub

. ~/.bashrc
Matteo
źródło
3

Oprócz tego, co sugerowali inni, odkryłem, że sourcenie rozbroi wcześniej przypisanych zmiennych środowiskowych. Jeśli więc chcesz rozbroić zmienne środowiskowe, musisz to zrobić ręcznie.

Lokesh
źródło