Trước khi bạn nhấp đi, đây không phải là câu hỏi "làm thế nào để làm cho dấu nhắc bash của tôi có màu". Tôi đã tùy chỉnh dấu nhắc bash của mình để trông như thế này:
[user @ host]----[$(pwd)]
$
trong đó mọi thứ trong ngoặc đều có màu xanh nhạt và mọi thứ khác (bao gồm $) đều màu đen bằng cách thêm phần sau vào tệp ~ / .bashrc của tôi
# Turn the prompt symbol red if the user is root
if [ $(id -u) -eq 0 ];
then # you are root, make the prompt red
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n\e[01;31m#\e[00m "
else
PS1="[\e[01;34m\u @ \h\e[00m]----[\e[01;34m$(pwd)\e[00m]\n$ "
fi
Mục tiêu là làm cho nó sao cho điều duy nhất thay đổi khi tôi sử dụng 'sudo su' là $ đen thay đổi thành # đỏ. Tôi đã xem trong /etc/bash.bashrc và / etc / profile để xem liệu chỉ có một dòng để bình luận, nhưng có một loạt các thứ về debian_chroot mà tôi không hiểu và tôi không muốn để vít một cái gì đó lên. Làm thế nào tôi có thể hoàn thành những gì tôi muốn?
PS Đây là những gì tôi muốn lời nhắc trông giống như root
[user @ host]----[$(pwd)]
(red)#
chỉnh sửa: Đánh dấu giải quyết này, nối thêm mã trên vào ~ / .bashrc trong khi root hoàn thành mục tiêu của tôi. Ngoài ra, trong đoạn mã trên, $ (pwd) chỉ hiển thị thư mục chính (tôi đoán vì đó là thư mục làm việc khi thiết bị đầu cuối được mở) và không bao giờ cập nhật. Thay thế $ (pwd) bằng \ w sẽ sửa lỗi này, nhưng hiển thị thư mục chính là ~
, điều mà tôi đang cố tránh.
\e[01;31m
, trong \[...\]
. Điều này được giải thích dưới KHUYẾN MÃI trong hướng dẫn. Xem thêm mywiki.wooledge.org/BashFAQ/053
pwd
không hoạt động trong lời nhắc là, bạn cần thoát ký hiệu đô la, nếu không $(pwd)
sẽ được thực thi trước khi nội dung được đặt trong $ PS1. Bạn có thể kiểm tra nó với điều này : PS1="\$(pwd) "
.