%EB%A5%BC%20%EC%82%AC%EC%9A%A9%EC%9E%90%20%EC%A0%95%EC%9D%98%ED%95%98%EB%8A%94%20%EA%B0%80%EC%9E%A5%20%EC%A2%8B%EC%9D%80%20%EB%B0%A9%EB%B2%95%EC%9D%80%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
PS1
다음과 같이 변수를 변경하여 Bash 프롬프트에 Git 분기 이름을 추가하려고 합니다 .
PS1=`echo "$PS1" | sed 's/\\\\\$ $/\$(__git_ps1)\\\\\$ /'`
~/.bashrc
그리고 내가 올바르게 이해했다면 개인화 목적으로 업데이트하는 것은 권장되지 않습니다 . 내가 찾은 모든 기사는 그러한 목적으로 .profile
또는 업데이트를 제안합니다. .bash_profile
그래서 저는 이 라인을 넣을 완벽한 장소를 찾고 있습니다.
지금까지 제가 시도한 장소는 다음과 같습니다.
.profile
: 출처 없음gnome-terminal
.bash_profile
: 출처 없음gnome-terminal
.bash_login
: 출처 없음gnome-terminal
.bash_aliases
PS1
: 작동하지만 별칭과 관련이 없는 것 같습니다.
gnome-terminal
저는 Ubuntu Desktop을 사용하고 있고 또는 에서 작업하고 있으므로 X 환경에서 byobu
시작할 때 소스로 제공되는 파일을 찾아야 합니다 . bash
그런 .bashrc
다음 PS1
. 이 목적에 적합하지 않다고 생각되는 것이 .bash_aliases
있습니다 ./usr/share/bash-completion/bash_completion
다른 선택은 무엇입니까? Bash 프롬프트를 사용자 정의하는 가장 좋은 방법은 무엇입니까?
답변1
다음 HOWTO에 따르면 .bashrc
실제로 $PS1을 조정할 수 있는 가장 좋은 곳은 다음과 같습니다.
PS1 문자열은 에 설정되어야 합니다
.bashrc
. 이는 비대화형 bash가 PS1 설정을 해제하기 위해 노력하기 때문입니다. bash 매뉴얼 페이지는 PS1의 존재 여부가 PS1이 대화식 bash 세션인지 비대화식(예: 스크립트) bash 세션에 있는지를 알 수 있는 좋은 방법임을 알려줍니다.[...]
PS1=..blah..
그러므로 는 안에 있어야.bashrc
하고, 없어야 한다는 점을 강조해야 합니다.profile
.
답변2
나는 그것이 .bashrc에 위치해야 한다는 @sylvain-pineau의 의견에 동의합니다.
나는 github에서 포크한 git-prompt 쉘 스크립트를 사용하고 있습니다. git, svn 및 hg와 매우 잘 작동합니다. 현재 있는 분기, 새로운 파일, 변경된 파일(다른 색상) 및 마지막 bash 명령의 상태를 보여줍니다.
다음과 같이 다운로드할 수 있습니다.
wget https://raw.githubusercontent.com/stalet/git-prompt/master/git-prompt.sh
chmod +x git-prompt.sh
그런 다음 .bashrc에서 테스트를 사용하여 내 git-prompt 스크립트를 사용할 수 있는지 확인한 다음 소스를 제공합니다.
[[ -s ~/config/git-prompt.sh ]] && source ~/config/git-prompt.sh
면책 조항, 저는 git-prompt github 프로젝트의 커밋자입니다.