remove - git tags best practices
¿Por qué mi bash no solicita actualización? (2)
Es probable que la cadena PS1
esté siendo evaluada antes de que se guarde, pero realmente desea que el comando __git_ps1
ejecute cada vez que obtenga un símbolo del sistema. Recomiendo usar comillas simples en lugar de comillas dobles para su línea de export PS1=''${RESET}...''
.
Soy nuevo en git e intento agregar la rama git actual a mi solicitud ya existente, que se define de la siguiente manera:
RESET="/[/017/]"
NORMAL="/[/033[0m/]"
RED="/[/033[31;1m/]"
YELLOW="/[/033[33;1m/]"
WHITE="/[/033[37;1m/]"
SMILEY="${WHITE}:)${NORMAL}"
FROWNY="${RED}:(${NORMAL}"
SELECT="if [ /$? = 0 ]; then echo /"${SMILEY}/"; else echo /"${FROWNY}/"; fi"
export PS1="${RESET}${YELLOW}/u@/h${NORMAL} /`${SELECT}/` ${YELLOW}/w $(__git_ps1) >${NORMAL} "
Lo intenté (obteniendo mi archivo .bashrc
nuevo) y pareció funcionar, pero luego ingresé en otra rama y no se actualizó. ¿Cómo puedo asegurarme de que $(__git_ps1)
no esté en la $(__git_ps1)
caché?
Necesita una barra invertida en $
para que no se expanda inmediatamente. (Compare con `...`
, que es una forma diferente de escribir $(...)
)
export PS1="${RESET}${YELLOW}/u@/h${NORMAL} /`${SELECT}/` ${YELLOW}/w /$(__git_ps1) >${NORMAL} "
Estoy de acuerdo con @MikeSep sobre el uso de comillas simples, pero en realidad es un poco más óptimo permitir que los colores y tal se sustituyan de inmediato. No es necesario, solo algo mejor. Dicho esto, es más fácil entender qué sucede si utiliza las comillas simples.