Ich möchte nur sicherstellen, dass für jede Shell-Sache, die passiert, dasselbe geladen wird.
Wenn du das wirklich willst, ~/.profile
füge alles ein und füge source ~/.profile
am Ende deines ein ~/.bashrc
. Ob dies wünschenswert ist, ist eine andere Frage. Zur Quelle ~/.profile
in ~/.bashrc
ist eine sehr häufige Setup trotzdem.
+ ------------ + ----------------- + ------------------ - + | | Login-Shells | interaktive Schalen | + ------------ + ----------------- + ------------------ - | | alle | / etc / profile | | | Bourneish | ---------------- + -------------------- | | Muscheln | ~ / .profile | | + ------------ + ----------------- + ------------------ - | | nur | ~ / .bash-Profil | /etc/bash.bashrc | | | --------------------------------- | | bash | ~ / .bash-login | ~ / .bashrc | + ------------ + ----------------- + ------------------ - +
Abgeleitete C-Shell und -Shells verwenden andere Dateien (.login, .cshrc, ..).
Was genau wäre in jedem, um eine identische Umgebung für jede Shell zu erreichen?
Wenn Sie Umgebung im Sinne von Umgebungsvariablen meinen, setzen Sie einfach alle in ~ / .profile und Sie sind in Ordnung. Wenn Sie Umwelt im weiteren Sinne meinen, hängt es davon ab.
Das Problem hierbei ist, dass es nicht wünschenswert ist, dieselbe Umgebung für interaktive und Login-Shells zu haben. Ein Beispiel sind Aliase: Möglicherweise möchten Sie Aliase in Ihrer interaktiven Shell, aber sehr wahrscheinlich werden sie dazu führen, dass Ihre Skripts seltsame Dinge tun. Sie möchten also nicht, dass Ihre Aliase in nicht interaktiven Shells sind => ~./bashrc
.