Ich versuche , einen Teil meines Prompt Set durch eine Funktion dynamisch zu haben, also in meine .bashrc
ich:
asdf ()
{
echo -n $(pwd)
}
PS1="\u@\h:\w $(asdf)\$ "
Das Öffnen einer Shell gibt mir zunächst das, was ich erwarte:
$ bash
darthbith@server:~/test /home/darthbith/test$
Wenn ich jedoch das Verzeichnis ändere, ändert sich der von der Funktion definierte Teil nicht:
darthbith@server:~/test /home/darthbith/test$ cd ~/test2
darthbith@server:~/test2 /home/darthbith/test$
Mein eigentliches Ziel ist es, mithilfe des git-prompt.sh
Skripts den Zweig meines Git-Repository anzuzeigen, wenn ich in einem mit hübschen Farben und allem bin. Das Problem ist jedoch, dass der Zweigname nie aktualisiert wird, wenn ich das Repository ändere. Das obige triviale Beispiel ist die einfachste Reproduktion, die ich für meine Frage finden konnte.
Die .bashrc
Zeilen, die ich zum Einbinden des git-prompt-Skripts benötigen:
source ~/.git-prompt.sh
PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1)\$ "