Uma coisa realmente estranha acontecendo aqui depois de ativarLinux
no meu Chromebook. Não é um disjuntor, mas é extremamente estranho. Por que PS1
sempre está 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 mais impressionante é que, onde quer que eu coloque export PS1=
, ele é fisicamente alterado no arquivo para a primeira PS1
entrada que mencionei acima. Significando que todos esses locais possíveis são realmente alterados e devolvidos à queima PS1
por algum processo externo:
~/.profile
~/.bashrc
/etc/profile.d/git.sh
E mais estranho ainda! Quando eu criar um arquivo chamado ~/.prompt
por exemplo, e adicioná-lo para ser executado em qualquer ~/.bashrc
ou ~/.profile
, com source ~/.prompt
, em seguida, que arquivo também será substituído.
Eu já defini export PROMPT_COMMAND=''
por aviso que vi, o que não funcionou, mas me levou a:
Somente isso funcionou até agora, e quero saber por que:
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
fonte
Respostas:
Você parece ter instalado o
git
que acredito ser responsável pelas alterações que você vê, quando adicionadas$(__git_ps1 " >> %s")
no meio da sua string PS1.PROMPT_COMMAND funciona porque é executado mais tarde e várias vezes antes de o Bash exibir um prompt, substituindo a alteração.
Você deve garantir que está configurando o PS1 depois que o git fez as coisas, mas não sei dizer onde ele está.
Nota: Veja esta resposta StackOverflow .
fonte
PS1
é porque eu acrescentou a__git_ps1
parte, para que eu possa ver o que ramo de um repositório é implantado em qualquer diretório em que estou. E essa ligação é o que eu mencionei também, por isso, a mesma página.