- bash: git ps1: commande introuvable
j'ai essayé D'installer Ruby 2.0. Ma Ligne de commande a dérapé et ressemble maintenant à ce qui suit:
-bash: __git_ps1: command not found
[11:58:28][whatever@whatever ~]$
Je ne sais pas comment me débarrasser de la commande __git_ps1 erreur non trouvée. J'ai cherché mon .bash_profile et mon .bashrc pour voir si elle essaye de définir une variable ou quelque chose et ne voit rien. Le seul endroit où je peux trouver git_ps1 mentionné dans ~/.fichiers de configuration utilisateur/.bash_prompt. - Je remplacer le contenu de ce fichier complètement, déconnectez puis reconnectez-vous et il résout rien.
j'ai vu ce , mais je suis assez nouveau en ligne de commande donc je me suis juste embrouillé.
des idées?
3 réponses
BASH a tout un tas de façons de régler automatiquement votre invite pour vous donner de belles informations. Vous définissez l'invite en définissant la variable d'environnement PS1
. Par exemple, si je mets PS1="$ "
mon invite ressemblera à ceci:
$
pas trop instructif. Tout ce que je peux dire c'est que la ligne de commande m'invite.
cependant, si je mets PS1=\u@\h: \w$
, mon invite ressemblera à ceci:
david@vegibank:/usr/bin$
qui me dit comment je suis connecté (le \u
), la machine sur laquelle je suis (le \h
), et le répertoire dans lequel je suis (le \w
). Si j'utilise git
, ce serait bien que la branche git dans laquelle je suis fasse aussi partie de mon prompt.
C'est exactement ce qui se passe avec votre fichier .profile
, votre fichier .bashrc
, votre script .bash_login
ou .bash_profile
. Ou, ce qu'un administrateur système a fait dans /etc/profile
.
Il y sont un couple de choses que vous pouvez faire. Soit:
- Téléchargez le manquant
__git_ps1
et assurez-vous qu'il est dans votre$PATH
variable d'environnement (qui est défini par une combinaison des différents fichiers d'initialisation mentionnés ci-dessus) - changez votre variable d'environnement
PS1
dans n'importe quel fichier d'initialisation en cours d'exécution (je crois que c'est probablement.bash_profile
.
dernière ligne:
PS1="\u@\h:\w\n$ "
\n
imprime l'invite de signe dollar sur la ligne ci-dessous comme ceci:
david@vegibank:/usr/bin
$
j'aime faire cela parce que l'invite peut être assez longue et éditer la ligne de commande devient délicat quand l'invite est plus longue que 30 à 50 caractères. Sinon, c'est à peu près l'invite standard que la plupart des utilisateurs utilisent. Vous pouvez en savoir plus sur la mise en place des invites de BASH dans les man pages . (Cherchez le mot "incitation" sur cette page).
si vous le trouvez un peu confus, soyez heureux de ne pas utiliser Kornshell. J'utilise Kornshell et pour obtenir le même message PS1=\u@\h:\w\n$
, j'ai mis mon invite:
export PS1='$(print -n "`logname`@`hostname`:";if [[ "${PWD#$HOME}" != "$PWD" ]] then; print -n "~${PWD#$HOME}"; else; print -n "$PWD";fi;print "\n$ ")'
exécutez ce qui suit:
$ curl -L https://raw.github.com/git/git/master/contrib/completion/git-prompt.sh > ~/.bash_git
et ajoutez ceci au haut de votre ~/.bashrc
:
source ~/.bash_git
re-connectez-vous à votre shell et vous devriez être défini.
rechercher votre système pour un git-prompt.sh
, vous devez source
que pour la fonction __git_ps1
être disponible. Dans Arch, il est actuellement situé à /usr/share/git/completion/git-prompt.sh
. Ajouter
source /path/to/git-prompt.sh
à un script shell approprié. Si vous ne savez pas où, ajoutez-le à votre ~/.bashrc
.
si vous avez locate
installé, vous pouvez l'utiliser pour trouver le fichier git-prompt.sh
, mais vous devrez peut-être exécuter updatedb
comme root en premier.