
Coisa muito estranha acontecendo aqui depoispossibilitandoLinux
no meu Chromebook. Não é um problema, mas é extremamente estranho. Por que está PS1
sempre sendo definido para isso?
\[\033[01;34m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w\[\033[31m\] \[\033[01;34m\]$\[\033[00m\]
Mesmo quando eu uso isso no 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\] '
O que é realmente incrível é que onde quer que eu coloque export PS1=
, ele ficaalterado fisicamente no arquivopara a primeira PS1
entrada que mencionei acima. O que significa que todos esses locais possíveis ficamrealmente alteradoe colocado de volta no queimado PS1
por algum processo externo:
~/.profile
~/.bashrc
/etc/profile.d/git.sh
E mais estranho ainda! Quando eu crio um arquivo chamado ~/.prompt
por exemplo, e o adiciono para rodar em ~/.bashrc
ou ~/.profile
, com source ~/.prompt
entãoqueo arquivo também é sobrescrito.
Já defini export PROMPT_COMMAND=''
os conselhos que vi, o que não funcionou, mas me levou a:
Só isso funcionou até agora e quero 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
Responder1
Parece que você instalou git
o que acredito ser o responsável pelas mudanças que você vê, quando adiciona $(__git_ps1 " >> %s")
no meio da string do seu PS1.
PROMPT_COMMAND funciona porque é executado posteriormente e repetidamente sempre antes do Bash exibir um prompt, portanto, substitui a alteração.
Você deve garantir que está configurando o PS1 depois que o git tiver feito seu trabalho, mas não posso dizer onde ele está.
Nota: Veja isto Resposta StackOverflow.