Wo liegt der Unterschied zwischen .bashrc und .bash_profile? 

Du nutzt den Zugang per SSH und möchtest das Verhalten der Shell beeinflussen?
Aber du weißt nicht, welche Datei du dazu anpassen sollst, die .bashrc oder .bash_profile?
In diesem Beitrag erklären wir dir den Unterscheid zwischen den beiden und wie du sie anpassen kannst.

.bashrc

Die .bashrc wird immer dann ausgeführt, wenn du Bash startest, standardmäßig aber nicht beim Login.

Wenn du dich nun per SSH einloggst, wird Bash aber als Login-Shell gestartet, und somit wird standardmäßig nur die .bash_profile eingelesen.

Oft steht in der .bash_profile, dass die .bashrc eingelesen werden soll, es kann aber auch andersherum sein. Es ist wichtig, dass man sich nur für eine Variante entscheidet!

.bash_profile

Die .bash_profile wird eingelesen, wenn Bash als eine Login-Shell gestartet wird. Das passiert normalerweise dann, wenn du dich bei Linux / Mac / Unix einloggst.

Schreibst du zum Beispiel „echo Hallo mittwald“ in deine .bash_profile, erscheint das nur, wenn du dich direkt auf einem TTY (TelephoneTYpewriter) einloggst, jedoch nicht, wenn du ein Terminal öffnest.

Bei interaktiven Login-Shells (damit ist gemeint, dass man Bash selbst benutzt und nicht nur ein Skript ausführt) wird zunächst nur die .bash_profile eingelesen. Mit der Zeile "[[ -f ~/.bashrc ]] && . ~/.bashrc" in der .bash_profile wird die .bashrc dann eingelesen.

Wie ist das bei mittwald?

Bei Mittwald findest du die beiden Dateien unter:

/etc/bash/bashrc

/etc/bash/profile

 

Bei uns wird die profile von der bashrc eingelesen, also stehen Aliase und andere Direktiven in der Datei /etc/bash/profile.

Mit dem Befehl vim /etc/bash/profile gelangst du zur Bearbeitung der Datei mit dem Text-Editor Vim.

Die Anpassung geschieht auf eigene Gefahr, also sichere dir den ursprünglichen Inhalt gerne vor der Bearbeitung.