
그 이후로 정말 이상한 일이 벌어지고 있어요활성화Linux
내 크롬북에서. 거래 중단자는 아니지만 매우 이상합니다. 왜 PS1
항상 이렇게 설정되어 있나요?
\[\033[01;34m\]\u\[\033[00m\]@\[\033[01;32m\]\h\[\033[01;34m\] \w\[\033[31m\] \[\033[01;34m\]$\[\033[00m\]
?.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\] '
정말 놀라운 점은 어디에 export PS1=
놓아도파일에서 물리적으로 변경됨PS1
위에서 언급한 첫 번째 항목으로 이동합니다 . 이는 가능한 모든 위치가실제로 변경됨PS1
외부 프로세스를 통해 다시 번인 상태로 되돌립니다 .
~/.profile
~/.bashrc
/etc/profile.d/git.sh
그리고 아직도 더 이상해요! 예를 들어라는 파일을 생성 하고 이를 추가하여 또는 ~/.prompt
중 하나에서 실행하면 다음 과 같습니다.~/.bashrc
~/.profile
source ~/.prompt
저것파일도 덮어쓰게 됩니다.
나는 export PROMPT_COMMAND=''
내가 본 조언에 따라 이미 설정했지만 작동하지 않았지만 다음과 같이 안내했습니다.
지금까지는 이것이 효과가 있었고 그 이유를 알고 싶습니다.
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
답변1
PS1 문자열 중간에 git
추가될 때 나타나는 변경 사항에 대한 책임이 있다고 생각되는 것을 설치한 것 같습니다 .$(__git_ps1 " >> %s")
PROMPT_COMMAND는 Bash가 프롬프트를 표시하기 전에 매번 반복적으로 나중에 실행되므로 변경 사항을 무시하므로 작동합니다.
git이 작업을 완료한 후에 PS1을 설정해야 하지만 어디에 있는지 알 수 없습니다.
참고 : 이것을 참조하십시오 StackOverflow 답변.