Tôi đang sử dụng hướng dẫn này để hiển thị tên chi nhánh trong thiết bị đầu cuối gnome (Ubuntu 15.10) khi làm việc trong kho git. Dựa trên những điều trên, bây giờ tôi có phần bên dưới trong tệp ~ / .bashrc của mình:
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
...
# Add git branch if its present to PS1
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/(\1)/'
}
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[01;31m\]$(parse_git_branch)\[\033[00m\]\$ '
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w$(parse_git_branch)\$ '
fi
unset color_prompt force_color_prompt
Kết quả là bây giờ tôi nhận được:
vì vậy nó hoạt động . Nhưng tại sao màu của người dùng @ host của tôi bị xóa? Và tôi cũng mong rằng tên chi nhánh nên được tô màu. Trước khi nó trông như thế này:
CẬP NHẬT: Bây giờ tôi đã thử hướng dẫn này thay thế:
https://coderwall.com/p/fasnya/add-git-branch-name-to-bash-prompt
thêm phần này vào .bashrc:
parse_git_branch() {
git branch 2> /dev/null | sed -e '/^[^*]/d' -e 's/* \(.*\)/ (\1)/'
}
export PS1="\u@\h \[\033[32m\]\w\[\033[33m\]\$(parse_git_branch)\[\033[00m\] $ "
và nó hoạt động:
Lưu ý trong .bashrc Tôi cũng có cái này (mặc định):
# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes
Tôi vẫn chưa tìm thấy lý do tại sao đoạn trích đó cho kết quả chính xác và phiên bản khác thì không. Bất kỳ đầu vào trên này?
Đây là phiên bản .bashrc của tôi có đoạn mã cũ được kích hoạt không hoạt động:
.bashrc
? IIRC mặc định .bashrc
không kích hoạt lời nhắc màu, vì vậy bạn phải thay đổi nó để hiển thị màu. Nó phụ thuộc vào những gì bạn đã thay đổi.
force_color_prompt
không chú ý không giúp được gì.
.bashrc
quá nhiều. Nếu bạn gây rối, bạn luôn có thể lấy bản gốc từ /etc/skel/.bashrc
.
force_color_prompt
bỏ sót trước?