Odpowiedzi:
Jeśli masz na myśli ponowne załadowanie konfiguracji .bashrc, to:
source ~/.bashrc
Aby mniej pisać, możesz zastąpić sourcekropką:. ~/.bashrc
sourcejest specyficzny dla bash. .jest bardziej standardowy. Oba działają tak samo w bash.
Niektóre dodatki znalazłem na stronie podręcznika z polecenia reset / tset
resetowanie terminala tset reset
Komenda: reset
Tset inicjuje terminale. Tset najpierw określa typ używanego terminala. To ustalenie odbywa się w następujący sposób, przy użyciu pierwszego znalezionego typu terminala.
zaletą wydaje się być to, że jest niezależna od użytej powłoki. tutaj również działa z rybami.
Aby ponownie zainicjować dowolny terminal, po prostu zrób-
$ tset
LUB
$ reset
Dodatkową opcją exec bashjest to, że jeśli zmieniłeś .profile(lub .bash_profile), możesz to zrobić
$ exec bash --login
To również przeczyta twój profil. Dodanie tej -iopcji nie zaszkodziłoby również jawne powiedzenie bashowi, że jest to interaktywna powłoka, ale normalnie może to sobie wyobrazić.
Musisz zastąpić działającą aplikację / powłokę nową instancją. Np. Jeśli używasz bashjako preferowanej powłoki, wpisz w wierszu poleceń następujący wiersz ( $ jest symbolem zastępczym na początku wiersza poleceń):
> $ exec bash
Działająca aplikacja / powłoka zostaje zastąpiona nową instancją bashpodobną, zaczynając od zera. Wszystkie poprzednie modyfikacje zniknęły.
Uwaga: Nie zapominaj, że aplikacja terminala może zostać przeprogramowana. Musisz ręcznie zresetować aplikację terminala.
Zastosowanie exec sudo --login --user $USER.
Jeśli chcesz również, aby poprzednio wprowadzone polecenia zniknęły (pełny reset terminala), połącz je z resetasreset; exec sudo --login --user $USER
Istnieje wiele odpowiedzi w Internecie, ale większość z nich nie działa. Łatwym sposobem na przetestowanie jest ustawienie, export SOMEVAR=42a następnie wykonanie rzekomo resetującego polecenia i wykonanie echo $SOMEVAR. Jeśli jest to 42, środowisko nie zostało zresetowane.
Jest też exec -c bash -llub exec env -i bash -l, ale są one uszkodzone, jakoś zmienna $ HOME nie jest ustawiana po tym.
source ~/.bashrc?