Ubuntu: profile.d und .bash_profile fehlen

Ubuntu: profile.d und .bash_profile fehlen

Ich habe mich ein wenig über den Start von Linux usw. informiert und mir ist aufgefallen, dass in meinem Home-Verzeichnis der folgende Ordner nicht vorhanden ist profile.d:

/home/user/profile.d/ # Doesn't exists

und noch eine Datei .bash_profile:

/home/user/.bash_profile # Doesn't exists

gibt es dafür einen Grund?

Ubuntu 15.04, Gnome

Antwort1

Kurze Antwort:es ist also ok.

Es gibt viele Initialisierungsbenutzerdateien, da ein Benutzer sich auf viele verschiedene Arten bei einem Computerkonto anmelden kann, von der Konsole aus, mit einer interaktiven oder einer nicht interaktiven Shell, mit verschiedenen Arten von Shells. Dies ist nicht das Vorrecht aller Benutzer, aber mit der Notwendigkeit, eineRückwärtskompatibilitätes endete damit, zu verkomplizierenein wenigdie Sachen. :-)

  • Ein Verzeichnisprofile.d sollte sich nicht in Ihrem Home-Verzeichnis befinden:
    /etc/profile.denthält Skripte mit anwendungsspezifischen Startdateien, die auch beim Start von der Shell ausgeführt werden. Es handelt sich um ein für alle Benutzer gültiges Verzeichnis, daher wird es unter dem /etc/Pfad und nicht unter dem Home-Verzeichnis jedes einzelnen Benutzers angelegt.

  • Die Datei ~/.bash_profileist eine der persönlichen Initialisierungsdateien und wird, sofern vorhanden, im Home-Verzeichnis jedes Benutzers gespeichert.Es ist jedoch nicht erforderlich, dass es existiert.Es sollte die Bash-spezifischen Befehle enthalten, die beim Starten einer Login-Shell ausgeführt werden sollen ( ~/.profilekann auch von anderen Shells gelesen werden, die normalerweise eine andere Syntax als die Bash-Shell verstehen).


Lesen Sie mehr im INVOCATIONAbschnittman bash

Wenn Bash als interaktive Anmelde-Shell aufgerufen wird (...)es liest und führt zuerst Befehle aus der Datei aus/etc/profile, wenn diese Datei existiert.
Nach dem Lesen dieser Datei sucht es nach ~/.bash_profile, ~/.bash_login, und ~/.profile,in dieser Reihenfolge,und liest und führt Befehle vom ersten aus, der existiert und lesbar ist.

Wenn Sie also eine Datei haben, ~/.bash_profilewird sie nicht gelesen ~/.profile, wenn sie nicht in einer der anderen Dateien aufgerufen (oder als Quelle verwendet) wird.

Beachten Sie, dass

Wenn eine interaktive Shell gestartet wird, bei der es sich nicht um eine Anmelde-Shell handelt, liest und führt bash Befehle aus /etc/bash.bashrcund aus ~/.bashrc, sofern diese Dateien vorhanden sind.

Aus irgendeiner Version von Ubuntu 12 (und mit Sicherheit aus 13.10) .profilestammt das ~/.bashrc.

Dies kann beim Ausführen von Login-Shells (z. B. beim Einloggen sshin den Computer) zu unerwartetem Verhalten führen, wo der Benutzer keine Quelle erwartet hätte ~/.bashrc.

Referenz:

verwandte Informationen