J'essaie d'ajouter le nom de la branche Git à mon invite Bash en modifiant la variable PS1
comme ceci:
PS1=`echo "$PS1" | sed 's/\\\\\$ $/\$(__git_ps1)\\\\\$ /'`
Et si je comprends bien, il n'est pas recommandé de mettre à jour ~/.bashrc
à des fins de personnalisation. Tous les articles que j'ai trouvés suggèrent de mettre à jour .profile
ou .bash_profile
à ces fins. Je cherche donc un endroit parfait pour mettre cette ligne.
Ce sont les endroits que j'ai essayés jusqu'à présent:
.profile
: non généré par gnome-terminal
.bash_profile
: non généré par gnome-terminal
.bash_login
: non généré par gnome-terminal
.bash_aliases
: fonctionne, mais je ne pense pas que PS1
ait quelque chose à voir avec les aliasJ'utilise Ubuntu Desktop et je travaille dans gnome-terminal
ou byobu
, je dois donc trouver un fichier qui est généré lorsque je lance bash
dans un environnement X. Ensuite, j’ai cherché dans .bashrc
d’autres fichiers sources après avoir attribué une valeur à PS1
. Il y a .bash_aliases
et /usr/share/bash-completion/bash_completion
qui, à mon avis, ne conviennent pas à cette fin.
Quels sont les autres choix? Et quelle est la meilleure pratique de personnalisation de l'invite Bash?
Selon le HOWTO suivant, votre .bashrc
est en fait le meilleur endroit pour modifier $ PS1:
la chaîne PS1 doit être définie dans
.bashrc
. ceci est dû au fait que les bashes non interactifs font tout leur possible pour désinstaller PS1. la page de manuel bash explique en quoi la présence ou l'absence de PS1 est un bon moyen de savoir si une session bash est interactive ou non interactive (c'est-à-dire avec un script).[...]
par conséquent, il convient de souligner que
PS1=..blah..
doit être dans.bashrc
et non pas.profile
.
Source: http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/setps.html
Je suis d’accord avec @ sylvain-pineau pour dire qu’il devrait être situé en .bashrc.
J'utilise un script shell git-Prompt que j'ai créé sur github. Cela fonctionne très bien avec git, svn et hg. Il vous indique dans quelle branche vous vous trouvez, quels fichiers nouveaux vous avez, quels fichiers sont modifiés (dans des couleurs différentes) et l'état de votre dernière commande bash.
Vous pouvez le télécharger comme ceci:
wget https://raw.githubusercontent.com/stalet/git-Prompt/master/git-Prompt.sh
chmod +x git-Prompt.sh
Ensuite, dans .bashrc, j'utilise un test pour voir si mon script git-Prompt est disponible et le rechercher ensuite:
[[ -s ~/config/git-Prompt.sh ]] && source ~/config/git-Prompt.sh
Clause de non-responsabilité, je suis membre du projet gitub git-Prompt.