Làm thế nào tôi có thể làm cho bash trông có màu như thế này?
Làm thế nào tôi có thể làm cho bash trông có màu như thế này?
Câu trả lời:
Mở ~/.bashrc
trong trình soạn thảo văn bản và dòng uncomment:
#force_color_prompt=yes
được:
force_color_prompt=yes
lưu rồi thực hiện source ~/.bashrc
force_color_prompt=yes
cách dự định cho phép màu sắc? Đối với tôi buộc âm thanh như một cách giải quyết.
Tôi đã đưa ra giải pháp này:
sao chép này và thêm nó vào cuối tệp .bashrc:
PS1='\[\033[1;36m\]\u\[\033[1;31m\]@\[\033[1;32m\]\h:\[\033[1;35m\]\w\[\033[1;31m\]\$\[\033[0m\] '
lưu tệp và khởi động lại bashrc:
source ~/.bashrc
Để biết danh sách đầy đủ các màu có sẵn và các tùy chọn khác, hãy tìm các liên kết sau:
Một phiên bản 'chung chung' hơn một chút - nên hoạt động với môi trường đa dạng:
(phụ thuộc vào terminfo)
Chèn cái này vào $HOME/.bashrc
:
function fgtab {
echo "tput setf/setb - Foreground/Background table"
for f in {0..7}; do
for b in {0..7}; do
echo -en "$(tput setf $f)$(tput setb $b) $f/$b "
done
echo -e "$(tput sgr 0)"
done
}
# The prompt in a somewhat Terminal -type independent manner:
cname="$(tput setf 3)"
csgn="$(tput setf 4)"
chost="$(tput setf 2)"
cw="$(tput setf 6)"
crst="$(tput sgr 0)"
PS1="\[${cname}\]\u\[${csgn}\]@\[${chost}\]\h:\[${cw}\]\w\[${csgn}\]\$\[${crst}\] "
Sau đó thực hiện source ~/.bashrc
.
Sau đó, fgtab
sẽ hiển thị một bảng màu với các số. Các số đó là cho tput setf n
và tput setb n
trong đó 'n' là số, 'f' là viết tắt của 'foreground' và 'b' là viết tắt của màu 'nền'.
tput sgr 0
sẽ đặt lại màu nền trước và màu nền về mặc định.
Và như bạn có thể thấy, việc thay đổi màu sắc được sử dụng cho lời nhắc trở nên thực sự dễ dàng (chỉ cần chỉnh sửa cùng một số $HOME/.bashrc
theo ý muốn).
Thêm một $(tput setb n)
trong $cname
nếu bạn muốn có TẤT CẢ lời nhắc với nền n.
man 5 terminfo
cho thấy những gì tput
có thể được sử dụng với, đó là một chút kỹ thuật mặc dù vậy "hãy chú ý" - nhưng một chút đoán và thử nghiệm thực sự có thể cho phép bạn làm cho nó hoạt động.