Ngày nay, Bash là trình bao mặc định trong hầu hết (nếu không phải tất cả) các bản phân phối Linux hiện đại. Tuy nhiên, bạn có thể nhận thấy rằng màu văn bản trong thiết bị đầu cuối và nội dung lời nhắc có thể khác nhau từ bản phân phối này sang bản phân phối khác.
Đề xuất Đọc: 5 Vỏ mã nguồn mở được sử dụng thường xuyên nhất cho Linux
Trong trường hợp bạn đang tự hỏi làm thế nào để tùy chỉnh điều này để có khả năng truy cập tốt hơn hoặc chỉ là ý thích, hãy tiếp tục đọc - trong bài viết này, chúng tôi sẽ giải thích cách thực hiện điều đó.
Biến môi trường PS1 Bash
Dấu nhắc lệnh và giao diện đầu cuối được điều chỉnh bởi một biến môi trường có tên là PS1
. Theo Bash trang người đàn ông, PS1 đại diện cho chuỗi lời nhắc chính được hiển thị khi trình bao sẵn sàng đọc lệnh.
Nội dung được phép trong PS1 bao gồm một số ký tự đặc biệt thoát ra sau dấu gạch chéo ngược có ý nghĩa được liệt kê trong PROMPTING phần của trang người đàn ông.
Để minh họa, hãy hiển thị nội dung hiện tại của PS1
trong hệ thống của chúng tôi (điều này có thể hơi khác trong trường hợp của bạn):
$ echo $PS1 [\[email protected]\h \W]$
Bây giờ chúng tôi sẽ giải thích cách tùy chỉnh PS1 theo nhu cầu của chúng tôi.
Tùy chỉnh định dạng PS1
Theo phần KHUYẾN MÃI trong trang người đàn ông, đây là ý nghĩa của từng ký tự đặc biệt:
-
\u:
tên người dùng của người dùng hiện tại. -
\h:
tên máy chủ cho đến dấu chấm đầu tiên (.) trong Tên miền Đủ điều kiện. -
\W:
tên cơ sở trong thư mục làm việc hiện tại, với $ HOME được viết tắt bằng dấu ngã (~) . -
\$:
Nếu người dùng hiện tại là root, hãy hiển thị # , $ ngược lại.
Ví dụ:chúng tôi có thể muốn xem xét thêm \!
Nếu chúng ta muốn hiển thị số lịch sử của lệnh hiện tại hoặc \H
nếu chúng tôi muốn hiển thị FQDN thay vì tên máy chủ ngắn.
Trong ví dụ sau, chúng tôi sẽ nhập cả hai vào môi trường hiện tại của chúng tôi bằng cách thực hiện lệnh này:
PS1="[\[email protected]\H \W \!]$"
Khi bạn nhấn Enter bạn sẽ thấy rằng nội dung lời nhắc thay đổi như hình dưới đây. So sánh lời nhắc trước và sau khi thực hiện lệnh trên:
Bây giờ, hãy tiến thêm một bước và thay đổi màu sắc của người dùng và tên máy chủ trong dấu nhắc lệnh - cả văn bản và nền xung quanh của nó.
Trên thực tế, chúng tôi có thể tùy chỉnh 3 khía cạnh của lời nhắc:
Định dạng Văn bản | Màu nền trước (văn bản) | Màu nền |
0:văn bản bình thường | 30:Đen | 40:Màu đen |
1:bold | 31:Màu đỏ | 41:Màu đỏ |
4:Văn bản được gạch chân | 32:Màu xanh lá cây | 42:Màu xanh lá cây |
33:Màu vàng | 43:Màu vàng | |
34:Màu xanh lam | 44:Màu xanh lam | |
35:Màu tím | 45:Màu tím | |
36:Màu lục lam | 46:Màu lục lam | |
37:Màu trắng | 47:Màu trắng |
Chúng tôi sẽ sử dụng \e
ký tự đặc biệt ở đầu và một m
ở cuối để chỉ ra rằng những gì tiếp theo là một chuỗi màu.
Trong trình tự này, ba giá trị ( nền , định dạng và tiền cảnh ) được phân tách bằng dấu phẩy (nếu không có giá trị nào được cung cấp thì giá trị mặc định được giả định).
Đề xuất Đọc: Tìm hiểu Bash Shell Scripting trong Linux
Ngoài ra, vì các phạm vi giá trị khác nhau, không quan trọng cái nào ( nền , định dạng hoặc tiền cảnh ) bạn chỉ định trước.
Ví dụ:PS1
sau sẽ khiến lời nhắc xuất hiện bằng màu vàng văn bản được gạch chân bằng màu đỏ nền:
PS1="\e[41;4;33m[\[email protected]\h \W]$ "
Trông đẹp như vẻ ngoài, tùy chỉnh này sẽ chỉ kéo dài trong phiên người dùng hiện tại. Nếu bạn đóng thiết bị đầu cuối của mình hoặc thoát khỏi phiên, các thay đổi sẽ bị mất.
Để thực hiện những thay đổi này vĩnh viễn, bạn sẽ phải thêm dòng sau vào ~/.bashrc
hoặc ~/.bash_profile
tùy thuộc vào phân phối của bạn:
PS1="\e[41;4;33m[\[email protected]\h \W]$ "
Hãy thoải mái chơi với các màu sắc để tìm ra thứ phù hợp nhất với bạn.
Tóm tắt
Trong bài viết này, chúng tôi đã giải thích cách tùy chỉnh màu sắc và nội dung của lời nhắc Bash của bạn. Nếu bạn có câu hỏi hoặc đề xuất về bài đăng này, vui lòng sử dụng mẫu bình luận bên dưới để liên hệ với chúng tôi. Chúng tôi mong nhận được phản hồi từ bạn!