cat을 사용하여 ~/.bash_profile을 수정하면 __git_ps1이 강제로 삭제되는 것 같습니다.

cat을 사용하여 ~/.bash_profile을 수정하면 __git_ps1이 강제로 삭제되는 것 같습니다.

repo 디렉토리에 현재 git-branch를 표시하라는 메시지가 표시되기를 원합니다. 예를 들어,

[desktop repo(master)]$

내 터미널에 다음을 입력할 수 있습니다.

cat <<EOF >> ~/.bash_profile
PS1='\[\e[0;32m\][\h \W\[\e[m\]$(__git_ps1 "(%s)")\[\e[0;32m\]]\$ \[\e[m\]'
EOF

그러나 .bash_profile의 결과 추가 텍스트는 다음과 같습니다.

PS1='\[\e[0;32m\][\h \W\[\e[m\]\[\e[0;32m\]]$ \[\e[m\]'

__git_ps1 메서드가 결과에 존재하지 않습니다. vim을 사용하여 .bash_profile을 수동으로 편집한 다음 소스 ~./bash_profile을 사용하면 PS1 문에 __git_ps1 메서드가 포함되어 제대로 작동합니다.

이 cat 문은 더 큰 "부트스트랩" 스크립트의 일부이지만 관련 없는 내용을 모두 제거했습니다. 우분투에서 이것을 성공적으로 구현했습니다. CentOS 가상 머신에서 실행하려고 합니다.

감사해요!

답변1

한번 시도해 보세요 cat << "EOF". 이렇게 하면 달러 기능과 시세의 확장을 방지할 수 있습니다.

관련 정보