Hallo Community,
die alte Leier: (Kommandozeilen-)Programme öffnen Textdateien standardmäßig im vi — auf meinem System ist noch dazu eine superspartanische Version installiert, bei der man im insert-Modus nicht mal die Pfeiltasten, [Del] oder [Backspace] nutzen kann. Mit mancher vim-Variante kann ich mich ja noch anfreunden…
Jetzt habe ich in .bashrc die Zeilen
export EDITOR=”medit”
export VISUAL=$EDITOR
eingefügt. Das interessante ist: Starte ich in der X-Konsole “abcde”, öffnet dieses den vi. Gebe ich zuvor “bash” ein, starte also eine neue Shell, und rufe dann abcde auf, öffnet sich wie gewollt medit…
…?!?
Wohlgemerkt: In der X-Konsole läuft schon die Bash, nicht etwa eine andere Shell!
Ich fahre FluxFlux (PCLinuxOS-Remaster) auf einem EeePC 901GO.
Hat jemand eine Idee, warum die Bash im X-Term die .bashrc nicht einliest oder auswertet?
Viele Grüße,
Ugglan
Das Problem ist gelöst: Ich musste die beiden Zeilen zusätzlich in der Datei “.bash_profile” eintragen.
Nur warum? Mir ist nicht ganz klar, warum das Xterm offensichtlich nur die .bash_profile einliest, während eine als Unterprozess gestartete Bash (auch?) die .bashrc auswertet.
Gruß
Ugglan
Hi,
“man bash”, Stichwort “Invocation” wird dich erhellen :)
hth,
Lutz
Hallo Lutz,
ugglan@dhcppc0: ~ $ man bash
Keine Handbuch-Seite für bash
Aber es gibt ja google ;-)
Also, um die Sache abzuschließen: Das Xterm ist eine login-Shell und ruft nur die Datei .bash_profile auf.
Eine weitere im Xterm gestartete Shell ist eine “interaktive non-login-shell” und wertet beim Start .bashrc aus.
Der richtige Ort für solche Änderungen ist demnach .bash_profile.
Oder, um es global zu halten, /etc/bashrc bzw. /etc/bash.bashrc und in meinem Fall die in /etc/bashrc aufgerufenen *.sh-Skripte in /etc/profile.d/
:-)
Wieder was gelernt.
Ugglan