Das .profilestammt aus der ursprünglichen Bourne-Shell, bekannt als sh. Da die GNU-Shell bash(abhängig von ihren Optionen) eine Obermenge der Bourne-Shell ist, können beide Shells dieselbe Startdatei verwenden. Vorausgesetzt, es werden nur shBefehle eingegeben.profile
Zum Beispiel aliasist ein gültiger eingebauter Befehl von bashaber unbekannt sh. Wenn Sie also nur eine .profilein Ihrem Home-Verzeichnis hätten und eine aliasErklärung darin ablegen shwürden , würden Sie sich beschweren. Es gibt also eine Bash-spezifische Datei mit Shell-Initialisierungsbefehlen, die Bash genau dann liest, wenn keine .profileDatei vorhanden ist.
Eigentlich ist das in einigen Installationen etwas zu einfach, und ich kenne Fedora nicht. Wird unter bash /etc/profilevon der Shell vor allen Dateien in Ihrem Home-Verzeichnis gelesen. Wenn es ein systemweites Initialisierungsskript gibt, sagt es oft so etwas wie
if there is a $HOME/.profile:
source it
elseif bash is my shell and there is a $HOME/.bash_profile:
source that
Warum ist das so? Ein Versuch der Kompatibilität über Jahrzehnte von Shell-Dialekten. Warum ist das Tutorial so geschrieben? Die Bourne-Shell wird nicht mehr oft verwendet und einige Leute wissen nicht einmal, dass es eine andere Bourne-ähnliche Shell als Bash gibt. Selbst wenn die (eingeschränkte) Bourne-Syntax für eine bessere plattformübergreifende Kompatibilität verwendet wird, wird sie häufig von dashPOSIX ausgeführt oder im POSIX-Kompatibilitätsmodus ausgeführt. In der Tat ist die eigentliche Bourne-Shell-Quelle wahrscheinlich eine Copyright-Komponente von Unix System V, die derzeit Eigentum von Novell zu sein scheint, aber ich habe keine Ahnung, was sie damit machen, wenn überhaupt.
Verwenden Sie für den Anfänger einen $HOME/.profileoder $HOME/.bash_profilebeide, aber nicht beide, und alles wird gut. Da Sie bereits damit .bash_profilearbeiten, weil es möglicherweise systemspezifische Dinge enthält, die Ihre Installation benötigt.