Ich möchte ein grünes Smile-Gesicht anzeigen, wenn der vorherige Exit-Code 0 ist und das rote Smile-Gesicht, wenn nicht erfolgreich.Wie Bash Prompt Farbe basierend auf Exit-Code des letzten Befehls ändern?
Grundsätzlich möchte ich diese Eingabeaufforderung aber mit anderen Sachen enthalten.
PS1='\[email protected]\h:\w `if [ $? = 0 ]; then echo \[\e[32m\]:\)\[\e[37m\]; else echo \[\e[31m\]:\(\[\e[37m\]; fi` $ '
ich abstrahieren wollen die Bedingung Logik auf eine Funktion, aber wenn ich versuche, diese beiden zu kombinieren, die Escape-Zeichen zeigen anstelle der Farben.
smiley()
{
if [ $? == 0 ]; then
echo ':)'
else
echo ':('
fi
}
RED="\033[1;5;91m"
GREEN="\033[1;5;92m"
NONE="\033[m"
NORMAL="\[\033[0m\]"
YELLOW="\[\033[1;4;93m\]"
MAGENTA="\[\033[35m\]"
WHITE="\[\033[1;37m\]"
BLINK="\[\033[5m\]"
#INVERT="\[\e[7m\]"
#OFF="\[\033[m\]"
PS1="${YELLOW}\u${MAGENTA}@${YELLOW}\h${NORMAL}:${WHITE}\w $(smiley)\n"
Ich habe sogar eine Zeile versucht, aber es hat auch nicht funktioniert.
PS1='\[\033[1;4;93m\]\u\[\033[35m\]@\[\033[1;4;93m\]\h\[\033[0m\]\[\033[1;37m\] \W if [ $? = 0 ]; then echo \[\e[32m\]:\)\[\e[37m\]; else echo \[\e[31m\]:\(\[\ e[37m\]; fi\n'
Gibt es eine Möglichkeit, dies ohne PROMPT_COMMAND zu tun?
smiley eine großartige Idee als Statusanzeige! Ich habe '{0}' oder '{1}' verwendet, aber ich ändere das jetzt. – karakfa