username@hostname:directory$
. Nhưng bạn có thể cấu hình nhắc Bash để chứa bất cứ điều gì bạn thích, và thậm chí chọn bất kỳ màu nào bạn thích.
Các bước mẫu ở đây được thực hiện trên Ubuntu 16.04 LTS. Quá trình này sẽ giống nhau trên các bản phân phối Linux khác, mặc dù dấu nhắc Bash mặc định và các thiết lập trong tệp.bashrc có thể hơi khác một chút.
Nơi mà các biến Prompt được lưu trữ
Cấu hình nhắc Bash của bạn được lưu trữ trong tệp.bashrc của tài khoản người dùng của bạn, tại
~/.bashrc
. Vì vậy, nếu tên người dùng của bạn là bob, tệp sẽ có
/home/bob/.bashrc
Bạn có thể mở tệp để xem biến Bash hiện tại. Chúng tôi sẽ sử dụng nano làm trình chỉnh sửa văn bản mẫu của chúng tôi, mặc dù bạn cũng có thể sử dụng vi, emacs hoặc bất kỳ trình soạn thảo văn bản nào khác mà bạn cảm thấy thoải mái. Mở một Terminal và chạy:
nano ~/.bashrc
PS1=
phần. Biến đầu tiên trông khá phức tạp vì nó bao gồm thông tin màu - chúng tôi sẽ giải thích sau. Biến thứ hai, không có thông tin màu, đọc như sau:
${debian_chroot:+($debian_chroot)}u@h:w$
${debian_chroot:+($debian_chroot)}
bit. Chúng chỉ cần nói với Bash để cho bạn biết nếu bạn đang sử dụng môi trường chroot Debian và thông thường sẽ không được hiển thị. Bỏ qua chúng, đây là cấu trúc mặc định của biến nhắc Bash:
u@h:w$
u
cho biết tên người dùng của bạn,
@
cho biết dấu @,
h
cho biết tên máy (tên máy tính),
:
cho biết: ký tự,
w
cho biết thư mục làm việc và
$
cho biết $ nếu bạn là tài khoản người dùng thông thường hoặc # nếu bạn là người chủ. Vì vậy, đặt tất cả với nhau, bạn nhận được
username@hostname:working_directory$
Để thay đổi dấu nhắc Bash của bạn, bạn chỉ cần thêm, xóa hoặc sắp xếp lại các ký tự đặc biệt trong biến PS1. Nhưng có nhiều biến hơn bạn có thể sử dụng hơn các biến mặc định.
Để nguyên trình chỉnh sửa văn bản ngay bây giờ - trong nano, nhấn Ctrl + X để thoát. Chúng tôi sẽ chỉ cho bạn cách thử nghiệm với các biến trước khi viết một biến mới vào tệp.bashrc của bạn.
Làm thế nào để tạo một dấu nhắc Bash tùy chỉnh
Cấu hình nhắc Bash của bạn được lưu trữ trong biến PS1. Để lưu nội dung của biến PS1 vào một biến mới, hãy chạy lệnh sau:
DEFAULT=$PS1
Bây giờ bạn có thể đặt biến PS1 thành các giá trị khác nhau để thử nghiệm. Ví dụ: dòng đầu tiên ở đây sẽ đặt lời nhắc của bạn thành lời nhắc "người dùng $" cơ bản, trong khi dấu nhắc thứ hai sẽ đặt lời nhắc của bạn thành lời nhắc "người dùng: working_directory $" cơ bản.
PS1='u$ ' PS1='u:w$ '
Nếu bạn muốn quay lại lời nhắc mặc định của mình, chỉ cần chạy lệnh sau.
PS1=$DEFAULT
Bash sẽ được khôi phục về lời nhắc mặc định của nó nhờ vào thực tế là bạn đã lưu các thiết lập mặc định này trước đó. Lưu ý rằng bất kỳ thay đổi nào bạn thực hiện ở đây chỉ là tạm thời cho phiên Bash hiện tại, vì vậy bạn luôn có thể đăng xuất và đăng nhập lại hoặc đóng và mở lại cửa sổ đầu cuối để quay lại lời nhắc mặc định của mình. Nhưng dòng trên làm cho nó có thể dễ dàng lấy lại dấu nhắc Bash mặc định của bạn mà không gặp rắc rối khi đăng xuất hoặc đóng cửa sổ.
PS1='Hello World u@h:w$ '
-
Một nhân vật chuông:
a
-
Ngày, theo định dạng “Ngày trong tuần trong tuần” (ví dụ: “Thứ Ba ngày 26 tháng 5”):
d
-
Định dạng được chuyển tới strftime (3) và kết quả được chèn vào chuỗi nhắc; một định dạng trống sẽ dẫn đến một đại diện thời gian cụ thể theo ngôn ngữ. Niềng răng là bắt buộc:
D{format}
-
Một ký tự thoát:
e
-
Tên máy chủ, tối đa ‘.’ Đầu tiên:
h
-
Tên máy chủ:
H
-
Số lượng công việc hiện được quản lý bởi trình bao:
j
-
Tên cơ sở của tên thiết bị đầu cuối của trình bao:
l
- Một dòng mới:
- Một vận chuyển trở lại:
-
Tên của shell, tên cơ sở là $ 0 (phần sau dấu gạch chéo cuối cùng):
s
-
Thời gian, theo định dạng HH: MM: SS 24 giờ:
-
Thời gian, trong định dạng HH: MM: SS 12 giờ:
T
-
Thời gian, ở định dạng 12 giờ sáng / chiều:
@
-
Thời gian, theo định dạng HH: MM 24 giờ:
A
-
Tên người dùng của người dùng hiện tại:
u
-
Phiên bản Bash (ví dụ: 2.00):
v
-
Việc phát hành Bash, phiên bản + bản vá lỗi (ví dụ: 2.00.0):
V
-
Thư mục làm việc hiện tại, với $ HOME viết tắt với dấu ngã (sử dụng biến $ PROMPT_DIRTRIM):
w
-
Tên cơ sở của $ PWD, với $ HOME viết tắt bằng dấu ngã:
W
-
Số lịch sử của lệnh này:
!
-
Số lệnh của lệnh này:
#
-
Nếu uid hiệu dụng là 0, #, nếu không $:
$
-
Ký tự có mã ASCII là giá trị bát phân nnn:
nn
-
Dấu gạch chéo ngược:
-
Bắt đầu một chuỗi ký tự không in. Điều này có thể được sử dụng để nhúng một chuỗi điều khiển đầu cuối vào dấu nhắc:
[
-
Kết thúc chuỗi ký tự không in:
]
Vì vậy, nếu bạn muốn thêm ngày và thời gian vào dấu nhắc Bash của bạn và đặt thư mục làm việc trên lệnh trên dòng thứ hai, bạn có thể sử dụng cấu trúc sau đây:
PS1='[d ] u@h
w$ '
Các dấu ngoặc vuông ở đây không cần thiết chút nào, nhưng giúp chia nhỏ mọi thứ một cách trực quan và giúp dễ đọc hơn. Như chúng tôi đã đề cập ở trên, bạn có thể thêm bất kỳ văn bản hoặc ký tự thông thường nào vào biến mà bạn thích, vì vậy vui lòng sử dụng bất kỳ thứ gì phù hợp với bạn.
`
nhân vật. Đó không phải là dấu nháy đơn - đó là giọng nghiêm trọng, xuất hiện phía trên phím Tab trên bàn phím của bạn.
Ví dụ: giả sử bạn muốn xem phiên bản hạt nhân Linux trong lời nhắc. Bạn có thể sử dụng một dòng như sau:
PS1='u@h on `uname -s -r` w$ '
uptime
chỉ huy. Bạn có thể sử dụng cấu trúc sau đây để đặt thời gian hoạt động lên dòng của chính nó trước phần còn lại của lời nhắc.
PS1='(`uptime`)
u@h:w$ '
Cách thêm màu vào dấu nhắc Bash của bạn
Khi bạn đã tìm ra lời nhắc ưa thích của mình, bạn có thể thêm màu cho lời nhắc đó. Điều này thực sự rất đơn giản, nhưng nó làm cho biến trở nên quá lộn xộn và phức tạp nếu bạn không hiểu những gì bạn đang xem.
Ví dụ: biến nhắc màu mặc định từ trước đó là:
${debian_chroot:+($debian_chroot)}[