Próbuję ustawić część mojego monitu dynamicznie przez funkcję, więc .bashrc
mam:
asdf ()
{
echo -n $(pwd)
}
PS1="\u@\h:\w $(asdf)\$ "
Otwarcie powłoki daje mi to, czego na początku oczekuję:
$ bash
darthbith@server:~/test /home/darthbith/test$
Jednak gdy zmieniam katalog, część zdefiniowana przez funkcję nie zmienia się:
darthbith@server:~/test /home/darthbith/test$ cd ~/test2
darthbith@server:~/test2 /home/darthbith/test$
Moim rzeczywistym celem jest użycie git-prompt.sh
skryptu do pokazania gałęzi mojego repozytorium git, gdy jestem w jednym z ładnymi kolorami i wszystkim, ale problem polega na tym, że nigdy nie aktualizuje nazwy gałęzi, gdy zmieniam repozytoria. Ten trywialny przykład powyżej jest najprostszą reprodukcją, jaką mogłem wymyślić dla mojego pytania.
Te .bashrc
linie, które muszę zintegrować skrypt git-prompt:
source ~/.git-prompt.sh
PS1="\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]$(__git_ps1)\$ "