Bash-Eingabeaufforderung nach Änderung des Standardverzeichnisses des Benutzers

517
Guy St-Louis

Es gibt etwas, was ich nicht verstehe. Ich habe die hier gefundene Methode zum Ändern des Benutzerverzeichnisses mit vipw / etc / passwd verwendet

Sobald ich jedoch in diese Datei einsteige und ein Standard-Benutzerverzeichnis geändert habe, ändert sich ihre Bash-Eingabeaufforderung von meinem Rechner aus. "[root @ verzeichnis ~] #" bis "bash-4.1 $"

Wenn ich jetzt versuche, die globale Bash-Eingabeaufforderung $ PS1 zu ändern, kann der Benutzer mit dem Änderungsverzeichnis mit Bash-4.1 $ die benutzerdefinierte Eingabeaufforderung nicht sehen.

Was ist das für ein Verhalten?

0
Ich glaube, Sie liegen falsch, was das Verzeichnis in / etc / passwd eigentlich ist. Es ist das Heimatverzeichnis des Benutzers. Es ist kein "Standardverzeichnis", außer durch Konvention und Erweiterung, da es ein Verzeichnis ist, das * vom Benutzer * angeblich * geschrieben werden kann und relativ privat ist. (Denken Sie daran, dass es sich bei Linux um ein System mit mehreren Benutzern handelt.) Wenn das benannte Home-Verzeichnis nicht vorhanden ist oder wenn es existiert, aber die Berechtigungen dem Benutzer keine Lese- / Schreib- / Ausführungsberechtigungen gewähren, werden alle möglichen Dinge beschädigt . Ich habe ein starkes Gefühl, dass Sie eines dieser Dinge brechen sehen. a CVn vor 9 Jahren 0
@ MichaelKjörling Danke für die Antwort. Eigentlich hast du recht, als ich das Verzeichnis änderte, was auch immer ich es geändert habe, ich erkannte, dass es Berechtigungsprobleme gab. Das heißt also nur, weil es ein Erlaubnisproblem gab oder was auch immer es sein könnte. Deswegen sehe ich diesen seltsamen bash-4.1? Natürlich werde ich nicht faul sein und das testen, aber da tippe ich hier weg ... Guy St-Louis vor 9 Jahren 0
@ GuySt-Louis Es ist in der Tat ein Erlaubnisproblem. Die Eingabeaufforderung ändert sich, weil bash kein lesbares `.bash_profile` oder ähnliches finden kann (das sich normalerweise in Ihrem Home-Verzeichnis befindet, wie von` / etc / passwd` vorgegeben), aus dem die Eingabeaufforderungseinstellungen gelesen werden können. Jarmund vor 9 Jahren 0

1 Antwort auf die Frage

1
Thomas Weinbrenner

Sie haben Ihr Heimatverzeichnis geändert, die Dateien aber wahrscheinlich im alten Verzeichnis belassen.

Beim bashAufruf werden einige Dateien gelesen und ausgeführt, einige davon in Ihrem Heimatverzeichnis (zum Beispiel ~/.profile).

Da Sie Ihr Heimatverzeichnis geändert haben, werden sie nicht gefunden. Daher werden Konfigurationen, die Sie in diesen Dateien finden (wie Ihre Eingabeaufforderung), nicht auf Ihre angewendet bash.

Ich werde mir das auch mal ansehen Guy St-Louis vor 9 Jahren 0
Kennen Sie alle Dateien, die zur Behebung dieses Problems übertragen werden müssen? Guy St-Louis vor 9 Jahren 0
Sorry, ich bin kein bash-Benutzer und verwende ein anderes Betriebssystem. Ihre bash-Manpage sollte eine Liste der von ihr verwendeten Dateien haben (wahrscheinlich am Ende der Manpage). Auch wie in diesen Dateien - vielleicht rufen diese Dateien andere Dateien auf. Thomas Weinbrenner vor 9 Jahren 0