%3F.png)
Estou tentando adicionar o nome do branch Git ao meu prompt do Bash alterando a PS1
variável assim:
PS1=`echo "$PS1" | sed 's/\\\\\$ $/\$(__git_ps1)\\\\\$ /'`
E se bem entendi, não é recomendado atualizar ~/.bashrc
para fins de personalização. Todos os artigos que encontrei sugerem atualização .profile
ou .bash_profile
para tais fins. Então, estou procurando um lugar perfeito para colocar essa linha.
Estes são os lugares que experimentei até agora:
.profile
: não fornecido porgnome-terminal
.bash_profile
: não fornecido porgnome-terminal
.bash_login
: não fornecido porgnome-terminal
.bash_aliases
: funciona, mas não acho quePS1
tenha nada a ver com aliases
Estou usando o Ubuntu Desktop e trabalho em gnome-terminal
ou byobu
, então preciso encontrar um arquivo que seja originado quando inicio bash
em um ambiente X. Em seguida, procurei .bashrc
outros arquivos originados após atribuir um valor a PS1
. Existem .bash_aliases
e /usr/share/bash-completion/bash_completion
que não considero adequadas para esse fim.
Quais são as outras opções? E qual é a melhor prática para personalizar o prompt do Bash?
Responder1
De acordo com o seguinte HOWTO, o seu .bashrc
é realmente o melhor lugar para ajustar o $PS1:
a string PS1 deve ser definida em
.bashrc
. isso ocorre porque os bashes não interativos fazem de tudo para desativar o PS1. a página de manual do bash informa como a presença ou ausência de PS1 é uma boa maneira de saber se alguém está em uma sessão bash interativa ou não interativa (ou seja, script).[...]
portanto, deve-se enfatizar que
PS1=..blah..
deveria estar dentro.bashrc
e não.profile
.
Fonte:http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/setps.html
Responder2
Concordo com @sylvain-pineau que deveria estar localizado em .bashrc.
Estou usando um script de shell git-prompt que bifurquei no github. Funciona muito bem com git, svn e hg. Ele mostra em qual branch você está, quais arquivos você possui que são novos, quais arquivos foram alterados (em cores diferentes) e o status do seu último comando bash.
Você pode baixá-lo assim:
wget https://raw.githubusercontent.com/stalet/git-prompt/master/git-prompt.sh
chmod +x git-prompt.sh
Então, em .bashrc, estou usando um teste para ver se meu script git-prompt está disponível e, em seguida, fornecê-lo:
[[ -s ~/config/git-prompt.sh ]] && source ~/config/git-prompt.sh
Isenção de responsabilidade, sou um comprometedor do projeto git-prompt github.