- bash: git ps1: comando no encontrado
Intenté instalar Ruby 2.0. Mi línea de comandos urped y ahora se ve así:
-bash: __git_ps1: command not found
[11:58:28][whatever@whatever ~]$
No tengo ni idea de cómo deshacerse 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 estoy viendo nada. El único lugar donde puedo encontrar git_ps1 mencionado es en~/.dotfiles/.bash_prompt. Remplazo el contenido de ese archivo por completo, cierro la sesión y vuelvo a iniciar sesión y no arregla nada.
I vi esto , pero soy bastante nuevo en la línea de comandos, así que me confundí.
¿Alguna idea?
3 answers
BASH tiene una gran cantidad de formas de configurar automáticamente su solicitud para darle información agradable. Puede configurar el prompt configurando la variable de entorno PS1
. Por ejemplo, si establezco PS1="$ "
mi mensaje se verá así:
$
No demasiado informativo. Todo lo que puedo decir es que la línea de comandos me solicita.
Sin embargo, si establezco PS1=\u@\h: \w$
, mi mensaje ahora se verá así:
david@vegibank:/usr/bin$
Que me dice cómo estoy conectado (el \u
), la máquina en la que estoy (\h
), y el directorio en el que estoy (el \w
). Si utilizo git
, sería bueno que la rama de git en la que estoy también sea parte de mi solicitud.
Esto es exactamente lo que está pasando con su .profile
, su archivo .bashrc
, su .bash_login
o su script .bash_profile
. O, lo que algún administrador del sistema hizo en /etc/profile
.
Hay un par de cosas que puedes hacer. O bien:
- Descargue la falta
__git_ps1
y asegúrese de que está en su variable de entorno$PATH
(que se establece mediante una combinación de los 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
.
Simplemente agregue esto como la última línea:
PS1="\u@\h:\w\n$ "
El agregado \n
imprime el símbolo del dólar en la línea de abajo de esta manera:
david@vegibank:/usr/bin
$
Me gusta hacer eso porque el prompt puede ser bastante largo y editar la línea de comandos se vuelve complicado cuando el prompt es más largo de 30 a 50 caracteres. De lo contrario, es más o menos el indicador estándar que la mayoría de los usuarios utilizan. Puede ver más sobre la configuración de las indicaciones de BASH en las páginas de manual . (Busque la palabra que se solicita en esa página).
Si lo encuentras un poco confuso, alégrate de no usar Kornshell. Yo uso Kornshell y para obtener el mismo prompt PS1=\u@\h:\w\n$
lo hace, establezco mi prompt como:
export PS1='$(print -n "`logname`@`hostname`:";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "\n$ ")'
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-26 06:33:55
Ejecute lo siguiente:
$ curl -L https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > ~/.bash_git
Y añadir esto a la parte superior de su ~/.bashrc
:
source ~/.bash_git
Vuelva a iniciar sesión en su shell y debería estar configurado.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-22 23:02:56
Busque en su sistema un git-prompt.sh
, necesita source
que para que la función __git_ps1
esté disponible. En Arch, se encuentra actualmente 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 locate
, puede usarlo para encontrar el archivo git-prompt.sh
, pero es posible que deba ejecutar updatedb
como root primero.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-07-07 01:08:06