Also habe ich versucht, per Bash-Eingabeaufforderung so anzupassen, dass es so aussieht
[feralin@localhost ~]$ _
mit Farben. Ich habe es geschafft, konstante Farben zu erhalten (jedes Mal, wenn ich die Eingabeaufforderung sehe, die gleichen Farben), aber ich möchte, dass der Benutzername ('feralin') rot statt grün angezeigt wird, wenn der letzte Befehl einen Exit-Status ungleich Null hatte. Ich hatte die Idee dass:
\e[1;33m[$(if [[ $? == 0 ]]; then echo "\e[0;31m"; else echo "\e[0;32m"; fi)\u\e[m@\e[1;34m\h \e[0;35m\W\e[1;33m]$ \e[m
Nach meinen Beobachtungen $(if ...; fi)
scheint das jedoch einmal ausgewertet zu werden, wenn das ausgeführt .bashrc
wird, und das Ergebnis wird für immer danach ersetzt. Dadurch wird der Name immer grün, auch wenn der letzte Beendigungscode ungleich Null ist (wie in, echo $?
). Passiert das? Oder stimmt einfach etwas anderes mit meiner Eingabeaufforderung nicht? Lange Frage kurz, wie bekomme ich meine Aufforderung, den letzten Exit-Code zu verwenden?