Sto cercando di cambiare il mio prompt dei comandi nel terminale. Continuo a ricevere l'errore:
-bash: __git_ps1: command not found
Lo ho provato semplicemente digitando nel terminale come è: __git_ps1
. L'ho anche provato nel.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Come potresti vedere / dire, sì, ho il completamento automatico installato e funziona alla grande!
Mi sono imbattuto in questa domanda: "La variabile env PS1 non funziona su Mac " che fornisce il codice
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
Quindi lo aggiungo alla mia .bash_profile
speranza che cambierà qualcosa. Bene, lo ha fatto. Ha appena cambiato l'output dell'errore.
Ecco il .bash_profile
con l'aggiunta:
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
E ora ecco l'output dell'errore modificato:
sed: (%s): No such file or directory
Nota: ho anche spostato l'alias sotto la fonte senza alcuna differenza. Ho la versione git 1.7.12.1
Questo dovrebbe essere un semplice cambiamento. Qualcuno può aiutarmi?
Modifica 13/10/12
No, sicuramente non voglio definire __git_ps1 da solo, ma stavo solo cercando di vedere se sarebbe stato riconosciuto così. Sì, ho il .git-completion.bash
file installato. Ecco come ho ottenuto il completamento automatico sulla mia macchina.
cd ~
curl -OL https://github.com/git/git/raw/master/contrib/completion/git-completion.bash
mv ~/git.completion.bash ~/.git-completion.bash
A ls -la
quindi elenca il .git-completion.bash
file.
Modifica 13/10/12 - Risolto da Mark Longair (sotto)
Il seguente codice ha funzionato per me .bash_profile
mentre gli altri non ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git <tab>
come indicato nel commit a cui fa riferimento Mark Longair.
git-completion.bash
definisce__git_ps1
una funzione shell. Il tuo? Come sai che il completamento sta funzionando? Cosa succede quando si digitagit h
<TAB>?