태그 보관물: bashrc

bashrc

스노우 레오파드에서 bash 브랜치를 bash 프롬프트에 추가 branch ‘master’ user@machine:~/dev/rails/git_folder(test)$reload user@machine:~/dev/rails/git_folder(master)$ 보시다시피

나는 이것을 사용하고있다 :

$(__git_ps1 '(%s)')

그러나 디렉토리를 변경하거나 새 분기를 체크 아웃 할 때 업데이트되지 않습니다. 이 별칭도 있습니다.

alias reload='. ~/.bash_profile'

샘플 실행 :

user@machine:~/dev/rails$cd git_folder/
user@machine:~/dev/rails/git_folder$reload
user@machine:~/dev/rails/git_folder(test)$git checkout master
Switched to branch 'master'
user@machine:~/dev/rails/git_folder(test)$reload
user@machine:~/dev/rails/git_folder(master)$

보시다시피 bash_profile을 다시로드하는 경우에만 올바르게 설정됩니다. 나는 이것에 많은 시간을 낭비했다. 스노우 레오파드에서 bash를 사용하고 있습니다. 도와주세요!

편집 : 당신은 GitHub의 내 dotfiles을 볼 수 있고 파일이 PS1을 설정 여기



답변

문제가 해결되었습니다.

나는하고 있었다:

export PS1="$(__git_ps1 '(%s)')"

그리고 나는해야했다 :

export PS1="\$(__git_ps1 '(%s)')"

그렇지 않으면 달러 기호를 이스케이프 처리해야합니다. 그렇지 않으면 한 번만 실행되고 대체됩니다.


답변

아마도 사용해야 할 것입니다 $PROMPT_COMMAND


답변

최신 git은 __git_ps1을 bash_completion 밖으로 이동하므로 별도로 소싱해야합니다. https://superuser.com/a/477749/66255를 참조 하십시오 .


답변