Das .profile
stammt 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 sh
Befehle eingegeben.profile
Zum Beispiel alias
ist ein gültiger eingebauter Befehl von bash
aber unbekannt sh
. Wenn Sie also nur eine .profile
in Ihrem Home-Verzeichnis hätten und eine alias
Erklärung darin ablegen sh
würden , würden Sie sich beschweren. Es gibt also eine Bash-spezifische Datei mit Shell-Initialisierungsbefehlen, die Bash genau dann liest, wenn keine .profile
Datei vorhanden ist.
Eigentlich ist das in einigen Installationen etwas zu einfach, und ich kenne Fedora nicht. Wird unter bash /etc/profile
von 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 dash
POSIX 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/.profile
oder $HOME/.bash_profile
beide, aber nicht beide, und alles wird gut. Da Sie bereits damit .bash_profile
arbeiten, weil es möglicherweise systemspezifische Dinge enthält, die Ihre Installation benötigt.