Gibt es eine Möglichkeit, Bash vollständig neu zu starten und neu zu laden .bashrcund .profiledergleichen? Ich möchte sicherstellen, dass meine Änderungen nach dem Bearbeiten dieser Dateien ordnungsgemäß ausgeführt wurden.
Gibt es eine Möglichkeit, Bash vollständig neu zu starten und neu zu laden .bashrcund .profiledergleichen? Ich möchte sicherstellen, dass meine Änderungen nach dem Bearbeiten dieser Dateien ordnungsgemäß ausgeführt wurden.
Antworten:
Lass es sich durch sich selbst ersetzen.
exec bash -l
Beachten Sie, dass dies keine Auswirkungen auf Dinge wie cwd oder exportierte Variablen hat.
execSie die entfernen, erhalten Sie eine Shell, die die gewünschten Dateien enthält. Dann, gerade exitwenn Sie fertig sind, überprüfen.
$PS1in bashs Startdateien einstellen , ja.
Ich empfehle dringend, sich in einem separaten Fenster / Bildschirm anzumelden. Auf diese Weise haben Sie noch eine Arbeitssitzung, wenn bei Ihren Änderungen an Startdateien ein Fehler auftritt. Auch Sie sind sicher, eine saubere Umwelt zu haben.
Grund: Ich habe zu viele Leute gesehen, die sich aufgrund eines einfachen Tippfehlers in ihrem .profil (oder ähnlichem) aus einem System ausgeschlossen haben.
Wenn Sie die geänderten Dateien nur noch einmal lesen möchten, müssen Sie sie nicht neu starten. Sie können es einfach beschaffen.
source filename
oder
. filename # notice the dot
Beachten Sie, dass Sie dadurch keinen "sauberen Zustand" erhalten, in dem keine festgelegten Variablen oder definierten Funktionen gelöscht werden ...
su -l yourOwnUserName
Öffnet eine neue Shell für den yourOwnUserNameBenutzer mit allen neu geladenen Einstellungen. Dies ist shellunabhängig, da es sich auf Systemeinstellungen bezieht, nicht auf Ihre spezifische Shell. Es werden auch einige systemweite Einstellungen geladen, bei denen bash -ldies nicht der Fall ist (wie bei Benutzergruppen).
PATHEinstellungen wie gewünscht sind oder meinePS1usw.