스노우 레오파드에서 bash 브랜치를 bash 프롬프트에 추가


8

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

$(__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을 설정 여기

답변:


9

문제가 해결되었습니다.

나는하고 있었다:

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

그리고 나는해야했다 :

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

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



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.