Estoy tratando de cambiar mi símbolo del sistema en la terminal. Sigo recibiendo el error:
-bash: __git_ps1: command not found
Lo he intentado con tan sólo escribir en el terminal como es: __git_ps1
. También lo probé en el.bash_profile
if [ -f ~/.git-completion.bash ]; then
source ~/.git-completion.bash
export PS1='[\W]$(__git_ps1 "(%s)"): '
fi
Como puede ver / decir, sí, tengo instalado el autocompletado y funciona muy bien.
Me encontré con esta pregunta: "La variable env PS1 no funciona en mac ", que da el código
alias __git_ps1="git branch 2>/dev/null | grep '*' | sed 's/* \(.*\)/(\1)/'"
Entonces lo agrego a mi .bash_profile
esperanza de que cambie algo. Pues lo hizo. Simplemente cambió la salida del error.
Aquí está el .bash_profile
con la adición:
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
Y ahora aquí está la salida de error modificada:
sed: (%s): No such file or directory
Nota: También he movido el alias debajo de la fuente sin diferencia. Tengo git versión 1.7.12.1
Esto debería ser un cambio simple. ¿Alguien puede ayudarme?
Editar 13/10/12
No, definitivamente no quiero definir __git_ps1 yo mismo, pero solo estaba tratando de ver si sería reconocido al hacerlo. Sí, tengo el .git-completion.bash
archivo instalado. Así es como obtuve la finalización automática en mi máquina.
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
luego enumera el .git-completion.bash
archivo.
Edición 13/10/12 - Resuelto por Mark Longair (abajo)
El siguiente código funcionó para mí .bash_profile
mientras que otros no ...
if [ -f ~/.git-prompt.sh ]; then
source ~/.git-prompt.sh
export PS1='Geoff[\W]$(__git_ps1 "(%s)"): '
fi
git <tab>
como se indica en la confirmación a la que hace referencia Mark Longair.
git-completion.bash
define__git_ps1
como una función de shell. ¿El tuyo? ¿Cómo sabes que la finalización está funcionando? ¿Qué sucede cuandogit h
escribes <TAB>?