Mein PS1
in meinem ~/.bash_profile
:
export PS1="\\n\[\033[38;5;246m\]\u@\[\033[38;5;245m\]\h\[\033[38;5;15m\] \[\033[38;5;28m\]\w\[\033[38;5;15m\]\[\033[38;5;2m\]`__git_ps1`\[\033[38;5;15m\] \[\033[38;5;90m\]\t\[\033[38;5;15m\] \[\033[38;5;232m\]\[\033[38;5;15m\] \n\[\033[38;5;0m\]\\$ "
(Entschuldigung, ich habe keine Aliase für meine Farbcodes. Ich habe diese Eingabeaufforderung mit einem Online-Editor erstellt.)
Das ist ein bisschen chaotisch, erzeugt aber eine sehr schöne Eingabeaufforderung:
Aber der aktuell angezeigte Zweig ist immer falsch, wenn ich wechsle
Ich bin mir nicht sicher, warum das passieren würde. Wenn ich den Befehl selbst ausführe, erhalte ich den richtigen Wert.
$ echo `__git_ps1`
(dev)
Wenn ich das .bash_profile als Quelle verwende, wird der neue Wert eingehen (aber beim nächsten Wechsel falsch sein). Mache ich etwas falsch?
__git_ps1
Teil, damit Sie keine Escape-Zeichen während der gesamten Eingabeaufforderung korrigieren müssen), damit es nicht sofort aufgerufen / ausgewertet wird und nicht erweitert wird, damit die Shell zur Anzeigezeit der Eingabeaufforderung aufruft.