Je suis en train d'utiliser ce guide pour afficher le nom de la branche dans le terminal gnome (Ubuntu 15.10) lorsque je travaille dans un dépôt git. En fonction de ce qui précède, j'ai maintenant ce qui suit dans mon fichier ~/.bashrc :
# décommentez pour un invite de couleur, si le terminal en a la capacité ; désactivé
# par défaut pour ne pas distraire l'utilisateur : le focus dans une fenêtre de terminal
# devrait être sur la sortie des commandes, pas sur l'invite
#force_color_prompt=yes
...
# Ajouter la branche git si elle est présente à PS1
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
unset color_prompt force_color_prompt
En conséquence, j'obtiens maintenant :
alors cela fonctionne. Mais pourquoi la coloration de mon user@host a-t-elle été supprimée ? Et je m'attendrais également à ce que le nom de la branche soit coloré. Avant, cela ressemblait à ceci :
MISE À JOUR : J'ai maintenant essayé ce guide à la place :
https://coderwall.com/p/fasnya/add-git-branch-name-to-bash-prompt
en ajoutant ceci à .bashrc :
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "
et ça fonctionne :
Remarquez dans .bashrc j'ai aussi ceci (par défaut) :
# décommentez pour un invite de couleur, si le terminal en a la capacité ; désactivé
# par défaut pour ne pas distraire l'utilisateur : le focus dans une fenêtre de terminal
# devrait être sur la sortie des commandes, pas sur l'invite
#force_color_prompt=yes
Je n'ai pas encore trouvé la raison pour laquelle ce extrait donne le résultat correct et l'autre version ne le fait pas. Des idées à ce sujet ?
Voici la version de mon .bashrc qui a l'ancien extrait activé qui ne fonctionne pas :