-bash:__git_ps1: comando no encontrado
shell command (3)
BASH tiene un montón de formas de configurar automáticamente su mensaje para darle buena información. Se configura el indicador configurando la variable de entorno PS1
. Por ejemplo, si configuro PS1="$ "
mi aviso se verá así:
$
No es demasiado informativo. Todo lo que puedo decir es que la línea de comandos me está preguntando.
Sin embargo, si configuro PS1=/u@/h: /w$
, mi indicador ahora se verá así:
david@vegibank:/usr/bin$
Eso me dice cómo estoy conectado (la /u
), la máquina en la que estoy ( /h
) y el directorio en el que estoy (la /w
). Si uso git
, sería bueno si la rama de git en la que estoy también forme parte de mi solicitud.
Esto es exactamente lo que está sucediendo con su .profile
, su archivo .bashrc
, su archivo .bash_login
o su archivo .bash_profile
. O, lo que hizo algún administrador de sistema en /etc/profile
.
Hay un par de cosas que puedes hacer. Ya sea:
- Descargue el
__git_ps1
falta y asegúrese de que esté en su$PATH
entorno$PATH
(que se establece mediante una combinación de los diversos archivos de inicialización mencionados anteriormente) - Cambie su variable de entorno
PS1
en cualquier archivo de inicialización que se esté ejecutando (creo que probablemente sea.bash_profile
.
Solo agrega esto como la última línea:
PS1="/u@/h:/w/n$ "
El /n
agregado imprime el indicador de signo de dólar en la siguiente línea de la siguiente manera:
david@vegibank:/usr/bin
$
Me gusta hacerlo porque la solicitud puede ser bastante larga y editar la línea de comandos se vuelve complicado cuando la solicitud tiene más de 30 a 50 caracteres. De lo contrario, es casi el mensaje estándar que la mayoría de los usuarios usan. Puede ver más acerca de cómo configurar los mensajes de BASH en las páginas de manual . (Busque la palabra Solicitud en esa página).
Si lo encuentras un poco confuso, agradece que no estés usando Kornshell. Uso Kornshell y para obtener el mismo indicador PS1=/u@/h:/w/n$
do, configuro mi indicador como:
export PS1=''$(print -n "`logname`@`hostname`:";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "/n$ ")''
Intenté instalar Ruby 2.0. Mi línea de comando urge y ahora se parece a lo siguiente:
-bash: __git_ps1: command not found
[11:58:28][whatever@whatever ~]$
No tengo ni idea de cómo deshacerme del error __git_ps1 comando no encontrado. He buscado en mi .bash_profile y mi .bashrc para ver si está tratando de establecer una variable o algo y no veo nada. El único lugar donde puedo encontrar git_ps1 mencionado es en ~ / .dotfiles / .bash_prompt. Reemplazo el contenido de ese archivo por completo, cierre sesión y vuelvo a iniciar sesión y no corrige nada.
Vi this , pero soy bastante nuevo en la línea de comandos, así que me confundí.
¿Algunas ideas?
Busque en su sistema un git-prompt.sh
, necesita git-prompt.sh
para que la función __git_ps1
esté disponible. En Arch, actualmente se encuentra en /usr/share/git/completion/git-prompt.sh
. Añadir
source /path/to/git-prompt.sh
a algún script de shell adecuado. Si no está seguro de dónde, agréguelo a su ~/.bashrc
.
Si tiene instalado git-prompt.sh
, puede usarlo para encontrar el archivo git-prompt.sh
, pero es posible que deba ejecutar updatedb
como root primero.
Ejecuta lo siguiente:
$ curl -L https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > ~/.bash_git
Y agrega esto a la parte superior de tu ~/.bashrc
:
source ~/.bash_git
Vuelva a iniciar sesión en su shell y debe estar configurado.