반응형
내 bash 프롬프트가 업데이트되지 않는 이유는 무엇입니까?
나는 git을 처음 접했고 다음과 같이 정의 된 기존 프롬프트에 현재 git 브랜치를 추가하려고합니다.
RESET="\[\017\]"
NORMAL="\[\033[0m\]"
RED="\[\033[31;1m\]"
YELLOW="\[\033[33;1m\]"
WHITE="\[\033[37;1m\]"
SMILEY="${WHITE}:)${NORMAL}"
FROWNY="${RED}:(${NORMAL}"
SELECT="if [ \$? = 0 ]; then echo \"${SMILEY}\"; else echo \"${FROWNY}\"; fi"
export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w $(__git_ps1) >${NORMAL} "
나는 그것을 (내 .bashrc
파일을 다시 소싱하여) 시도했고 작동하는 것처럼 보였지만 다른 지점으로 가서 업데이트되지 않았습니다. $(__git_ps1)
이 캐시되지 않았 는지 어떻게 확인할 수 있습니까?
에 백 슬래시가 필요 $
하므로 즉시 확장되지 않습니다. ( `...`
과는 다른 쓰기 방식 인과 비교하십시오 $(...)
.)
export PS1="${RESET}${YELLOW}\u@\h${NORMAL} \`${SELECT}\` ${YELLOW}\w \$(__git_ps1) >${NORMAL} "
나는 작은 따옴표를 사용하는 것에 대해 @MikeSep에 동의하지만 실제로는 색상 등을 즉시 대체하는 것이 더 최적입니다. 필요하지 않고 조금 더 좋습니다. 즉 , 작은 따옴표를 사용하면 무슨 일이 일어나는지 이해하는 것이 더 쉽습니다.
귀하 PS1
가 저장하기 전에 문자열은 아마 평가 받고있다,하지만 당신은 정말 원하는 __git_ps1
명령은 명령 프롬프트를 얻을 때마다 실행합니다. 줄에 큰 따옴표 대신 작은 따옴표를 사용하는 것이 좋습니다 export PS1='${RESET}...'
.
참고 URL : https://stackoverflow.com/questions/5379986/why-doesnt-my-bash-prompt-update
반응형
'code' 카테고리의 다른 글
GHC Haskell 확장 프로그램을 사용해야합니까? (0) | 2020.10.12 |
---|---|
MS SQL 비교 날짜? (0) | 2020.10.12 |
무언가가 반복 가능한지 확인하기 (0) | 2020.10.12 |
Git 흐름-다른 기능 분기에서 기능 분기 만들기 (0) | 2020.10.12 |
도커 실행이 프로그래밍 방식으로 성공했는지 감지하는 방법은 무엇입니까? (0) | 2020.10.12 |