Czy istnieje sposób, aby całkowicie restart bash i przeładowanie .bashrc
i .profile
itp? Chciałbym się upewnić, że moje zmiany zadziałały poprawnie po edycji tych plików.
Czy istnieje sposób, aby całkowicie restart bash i przeładowanie .bashrc
i .profile
itp? Chciałbym się upewnić, że moje zmiany zadziałały poprawnie po edycji tych plików.
Odpowiedzi:
Niech sam się zastąpi.
exec bash -l
Pamiętaj, że nie wpłynie to na takie rzeczy, jak cwd lub zmienne eksportowane.
exec
i otrzymasz powłokę, która pobiera żądane pliki. Następnie, exit
gdy skończysz sprawdzanie.
$PS1
pliki startowe bash, tak.
Pilnie sugeruję zalogowanie się w osobnym oknie / ekranie. W ten sposób nadal masz sesję roboczą, jeśli coś pójdzie nie tak ze zmianami w plikach startowych. Z pewnością masz czyste środowisko.
Powód: widziałem zbyt wiele osób blokujących się z systemu z powodu prostej literówki w swoim .profile (lub podobnym).
Jeśli Twoim celem jest po prostu ponowne odczytanie zmodyfikowanych plików, nie musisz go ponownie uruchamiać. Możesz po prostu go zdobyć.
source filename
lub
. filename # notice the dot
Pamiętaj, że nie da to „czystego stanu” w tym sensie, że nie rozbroi żadnych ustawionych zmiennych ani zdefiniowanych funkcji ...
su -l yourOwnUserName
Otworzy nową powłokę dla yourOwnUserName
użytkownika z ponownie załadowanymi wszystkimi ustawieniami. Jest to niezależne od powłoki, ponieważ odnosi się do ustawień systemowych, a nie konkretnej powłoki. Ładuje również niektóre ustawienia systemowe, które bash -l
tego nie robią (np. Grupy użytkowników).
PATH
jest takie, jak chcę, czy mojePS1
itp.