%3F.png)
Estoy intentando agregar el nombre de la rama Git a mi indicador de Bash cambiando la PS1
variable de esta manera:
PS1=`echo "$PS1" | sed 's/\\\\\$ $/\$(__git_ps1)\\\\\$ /'`
Y si entendí correctamente, no se recomienda actualizar ~/.bashrc
con fines de personalización. Todos los artículos que encontré sugieren actualizarlos .profile
para .bash_profile
tales fines. Por eso estoy buscando un lugar perfecto para colocar esta línea.
Estos son los lugares que he probado hasta ahora:
.profile
: no obtenido porgnome-terminal
.bash_profile
: no obtenido porgnome-terminal
.bash_login
: no obtenido porgnome-terminal
.bash_aliases
: funciona, pero no creo quePS1
tenga nada que ver con alias
Estoy usando Ubuntu Desktop y trabajo en gnome-terminal
o byobu
, así que tengo que encontrar un archivo que se obtiene cuando inicio bash
en un entorno X. Luego busqué .bashrc
otros archivos de los que proviene después de asignar un valor a PS1
. Los hay .bash_aliases
y /usr/share/bash-completion/bash_completion
no creo que sean adecuados para este propósito.
¿Cuáles son otras opciones? ¿Y cuál es la mejor práctica para personalizar el indicador de Bash?
Respuesta1
Según el siguiente CÓMO, .bashrc
en realidad este es el mejor lugar para modificar $PS1:
la cadena PS1 debe estar configurada en
.bashrc
. Esto se debe a que los ataques no interactivos hacen todo lo posible para desarmar la PS1. La página de manual de bash indica cómo la presencia o ausencia de PS1 es una buena manera de saber si uno está en una sesión de bash interactiva o no interactiva (es decir, script).[...]
por lo tanto cabe recalcar que
PS1=..blah..
debe estar dentro.bashrc
y no.profile
.
Fuente:http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/setps.html
Respuesta2
Estoy de acuerdo con @sylvain-pineau en que debería ubicarse en .bashrc.
Estoy usando un script de shell git-prompt que bifurqué en github. Funciona muy bien con git, svn y hg. Le muestra en qué rama se encuentra, qué archivos tiene que son nuevos, qué archivos han cambiado (en diferentes colores) y el estado de su último comando bash.
Puedes descargarlo así:
wget https://raw.githubusercontent.com/stalet/git-prompt/master/git-prompt.sh
chmod +x git-prompt.sh
Luego, en .bashrc, estoy usando una prueba para ver si mi script git-prompt está disponible y luego obtenerlo:
[[ -s ~/config/git-prompt.sh ]] && source ~/config/git-prompt.sh
Descargo de responsabilidad, estoy comprometido con el proyecto github git-prompt.