
Algo realmente extraño está sucediendo aquí despuéshabilitandoLinux
en mi Chromebook. No es un factor decisivo, pero es extremadamente extraño. ¿Por qué PS1
siempre se establece esto?
\[\033[01;34m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w\[\033[31m\] \[\033[01;34m\]$\[\033[00m\]
¿Incluso cuando uso esto al final de .profile
?
export PS1='\[\033[01;34m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w\[\033[31m\]$(__git_ps1 " >> %s") \[\033[01;34m\]$\[\033[00m\] '
Lo verdaderamente sorprendente es que dondequiera que lo ponga export PS1=
, se ponecambiado físicamente en el archivoa la primera PS1
entrada que mencioné anteriormente. Lo que significa que todas estas ubicaciones posibles obtienenrealmente alteradoy devuelto al quemado PS1
mediante algún proceso externo:
~/.profile
~/.bashrc
/etc/profile.d/git.sh
¡Y más raro aún! Cuando creo un archivo llamado, ~/.prompt
por ejemplo, y lo agrego para ejecutarlo en ~/.bashrc
o ~/.profile
, con source ~/.prompt
luegoesoEl archivo también se sobrescribe.
Ya configuré export PROMPT_COMMAND=''
los consejos que había visto, que no funcionaron, pero me llevaron a:
Sólo esto ha funcionado hasta ahora y quiero saber por qué:
function prompt_command {
export PS1='\[\033[01;34m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w\[\033[31m\]$(__git_ps1 " >> %s") \[\033[01;34m\]$\[\033[00m\] '
}
export PROMPT_COMMAND=prompt_command
Respuesta1
Parece que has instalado git
lo que creo que es responsable de los cambios que ves cuando se agrega $(__git_ps1 " >> %s")
en el medio de la cadena de tu PS1.
PROMPT_COMMAND funciona porque se ejecuta más tarde y repetidamente cada vez antes de que Bash muestre un mensaje, por lo que anula el cambio.
Debes asegurarte de configurar PS1 después de que git haya hecho su trabajo, pero no puedo decir dónde está.
Nota: ver esto respuesta de StackOverflow.