Bei der Installation von RVM bekommt man folgende Meldung:
* WARNING: You have '~/.profile' file, you might want to load it,
to do that add the following line to '/home/dotancohen/.bash_profile':
source ~/.profile
Ich mache mir Sorgen, weil meine Datei ~/.profile xmodmap ~/.Xmodmap enthält die ich natürlich nicht jedes Mal ausführen möchte, wenn ich eine neue Shell öffne.
Warum könnten die klugen RVM-Entwickler vorschlagen, .profile zu beschaffen in .bash_profile ?
Akzeptierte Antwort:
.profile und .bash_profile sind identisch in Bezug darauf, wann sie ausgeführt werden sollen:Sie werden ausgeführt, wenn Sie sich anmelden. Der Unterschied besteht darin, dass nur bash .bash_profile ausführt; Shells im Bourne-Stil (dash, ksh usw.) führen .profile aus . Bash selbst führt .profile aus wenn .bash_profile existiert nicht.
Auch wenn Sie bash als Login-Shell haben, .profile ist oft derjenige, der ausgeführt wird, wenn Sie sich im grafischen Modus anmelden – viele Distributionen richten das X-Session-Startskript so ein, dass es unter sh ausgeführt wird und laden Sie .profile .
Daher der Rat, .profile zu verwenden statt .bash_profile um Dinge wie das Definieren von Umgebungsvariablen zu tun. Wenn Sie nicht unbedingt Bash-spezifische Funktionen benötigen, fügen Sie einfach alles in .profile ein . Aber selbst wenn Sie das tun, gibt es einen Grund, ein .bash_profile zu behalten , das heißt, wenn bash es lädt, lädt es .bashrc nicht , auch wenn es interaktiv ist. Daher für die meisten Leute ~/.bash_profile sollte aus diesen beiden Zeilen bestehen:
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
Sie sollten xmodmap nicht ausführen aus .profile . Diese wird nicht ausgeführt, wenn Sie eine neue Shell öffnen, aber sie wird beispielsweise ausgeführt, wenn Sie sich aus der Ferne mit SSH mit X11-Weiterleitung anmelden. Leider gibt es keine Standarddatei, die geladen wird, wenn Sie sich im grafischen Modus anmelden. Debian lädt ~/.xsessionrc (Ich denke, das gilt für alle Display-Manager, außer Gdm, das ~/.xprofile lädt stattdessen); andere Distributionen haben andere Einstellungen. Wenn Sie eine Cross-Distribution-Portabilität benötigen, ist es möglicherweise einfacher, Ihre Desktop-Umgebung so zu konfigurieren, dass xmodmap ausgeführt wird wenn es beginnt. Wenn Sie nur CapsLock und Strg austauschen, können Sie dies mit XKB-Einstellungen tun, zu denen die meisten modernen Desktop-Umgebungen eine Schnittstelle bieten.