Trong bash shell, dấu nhắc lệnh là văn bản được hiển thị khi bạn được nhắc nhập. Trên hầu hết các hệ thống, có vẻ như thế này:
Trong lời nhắc, bạn có thể có thông tin trước khi chạy bất kỳ lệnh nào. Ví dụ, lời nhắc ở trên cho bạn thấy những điều sau đây.
- bạn là ai (người dùng có tên người dùng )
- bạn đang ở đâu (một máy tính có tên myhost )
- thư mục làm việc của bạn là gì ( ~, đó là viết tắt cho thư mục chính của bạn)
Có lẽ quan trọng nhất là ký hiệu đô la (" $ "), đây là một ký tự đặc biệt cho biết bạn đã đăng nhập với tư cách là người dùng không root. Nếu bạn hiện đang đăng nhập bằng root, ký tự này sẽ là dấu thăng (" # ") thay vào đó.
Chuỗi đại diện cho lời nhắc được lưu trữ trong biến môi trường đặc biệt có tên PS1 . Đối với lời nhắc ở trên, giá trị của nó trông giống như sau.
"\ [email được bảo vệ] \ h: \ W \ $"
Có bốn ký tự đặc biệt trong chuỗi này: \ u, \ h, \ W, \ $ . Đây là các chuỗi ký tự thoát được thay thế bằng các giá trị thực tế mỗi khi dấu nhắc được hiển thị.
Nhân vật đặc biệt
Các chuỗi ký tự đặc biệt được liệt kê trong bảng dưới đây có thể được sử dụng trong dấu nhắc bash shell.
Trình tự nhân vật | Dịch sang |
---|---|
\ a | Nhân vật "báo động". Kích hoạt tiếng bíp hoặc đèn flash màn hình |
\ d | Ngày hiện tại, được hiển thị theo định dạng Ngày tháng trong tuần (ví dụ: Thứ tư ngày 13 tháng 5 ). |
\ D { định dạng } | Ngày và giờ hiện tại được hiển thị theo định dạng như được giải thích bởi strftime Nếu định dạng bị bỏ qua, \ D {} hiển thị thời gian AM / PM 12 giờ hiện tại (ví dụ: 07:23:01 PM ). |
\ e | Một nhân vật thoát (ASCII 27) |
\ e [ số m | Biểu thị sự bắt đầu của một chuỗi để hiển thị màu, trong đó số là một số hoặc cặp số, xác định màu sắc và kiểu sẽ sử dụng. Xem bên dưới để biết danh sách các màu và cặp số của chúng. |
\ e [m | Biểu thị phần cuối của chuỗi để hiển thị màu. |
\ h | Ví dụ, tên máy chủ của máy, cho đến " . " Đầu tiên, nếu tên máy chủ của hệ thống là myhost.mydomain, \ h sẽ hiển thị myhost |
\ H | Tên máy chủ đầy đủ của máy. |
\ j | Số lượng công việc đang được quản lý bởi vỏ. |
\ l | Mã định danh thiết bị đầu cuối của shell, thường là một số có một chữ số. |
\ n | Một dòng mới |
\ r | Vận chuyển trở lại |
\S | Tên của shell (tên cơ sở của quá trình khởi tạo phiên bash hiện tại). |
\ t | Thời gian hiện tại được hiển thị ở định dạng HH: MM: SS 24 giờ (ví dụ: 19:23:01 ). |
\ T | Thời gian hiện tại được hiển thị ở định dạng HH: MM: SS 12 giờ (ví dụ: 07:23:01 ). |
\ @ | Thời gian hiện tại được hiển thị ở định dạng HH: MM: SS AM / PM 12 giờ (ví dụ: 07:23:01 PM ). |
\ A | Thời gian hiện tại ở định dạng HH: MM 24 giờ, (ví dụ: 19:23 ). |
bạn | Tên người dùng của người dùng hiện tại. |
\ v | Số phiên bản Bash (ví dụ: 4.3 ). |
\ V | Phiên bản Bash và số bản vá (ví dụ: 4.3.30 ). |
\ w | Thư mục hiện tại. Thư mục chính của người dùng được viết tắt là dấu ngã (" ~ "). Ví dụ: / usr / bin, ~ hoặc ~ / Documents |
\ | Tên cơ sở của thư mục làm việc hiện tại (ví dụ: bin, ~ hoặc tài liệu ). |
\! | Số lịch sử của lệnh hiện tại. |
\ # | Số lệnh của lệnh hiện tại (số lệnh giống như số lịch sử, nhưng chúng đặt lại về 0 khi bạn bắt đầu phiên bash mới). |
\ nnn | Ký tự ASCII có giá trị bát phân là nnn. |
\ | Dấu gạch chéo ngược |
\ [ | Đánh dấu sự bắt đầu của bất kỳ chuỗi ký tự không in nào, chẳng hạn như mã điều khiển đầu cuối. |
\] | Đánh dấu sự kết thúc của một chuỗi không in. |
\ $ | In # nếu UID bằng 0 (siêu người dùng) hoặc $ nếu lớn hơn 0 (bất kỳ ai khác). |
Thay đổi lời nhắc cho phiên hiện tại
Bạn có thể đặt biến môi trường PS1 giống như bất kỳ biến nào khác trong bash, với mẫu câu lệnh NAME = VALUE . Vì vậy, để đặt dấu nhắc tiêu chuẩn, bạn có thể nhập nội dung sau vào dòng lệnh.
PS1 = "\ [email được bảo vệ] \ h: \ W \ $"
Hãy nhắc nhở và ngay lập tức. Lưu ý không gian cuối cùng sau ký hiệu đô la trong chuỗi để có thêm khoảng trắng sau dấu nhắc của bạn, điều này giúp dễ dàng phân biệt các lệnh bạn nhập từ dấu nhắc. Không gian thêm không cần thiết, nhưng nó được khuyến khích.
Lưu ý rằng trong lệnh, không có khoảng trắng giữa PS1, = và chuỗi.
Thay đổi lời nhắc cho tất cả các phiên trong tương lai
Nếu bạn muốn thay đổi lời nhắc cho mỗi phiên mới, bạn cần chỉnh sửa các tệp khởi động bash của mình. Mỗi khi bạn bắt đầu một phiên cuối, các tệp sau, nếu chúng tồn tại, sẽ được đọc và thực thi dưới dạng tập lệnh:
/ etc / profile ~ / .bash_profile ~ / .bash_login
~ /.
Tệp đầu tiên, / etc / profile, là tập lệnh khởi động cho bất kỳ người dùng nào trên hệ thống bắt đầu phiên bash. Để thay đổi lời nhắc cho mọi người dùng, bạn cần chỉnh sửa tệp này và bạn cần có đặc quyền siêu người dùng để làm như vậy.
sudo vi / etc / hồ sơ
Ví dụ: lệnh trên sẽ nhắc bạn nhập mật khẩu và nếu bạn nằm trong danh sách sudoers, hãy mở tệp khởi động bash phổ biến dưới dạng siêu người dùng, sử dụng trình soạn thảo vi .
Ba tệp khác được tìm kiếm theo thứ tự được liệt kê ở trên và được thực hiện sau / etc / profile . Ba tệp này nằm trong thư mục chính của bạn, vì vậy chúng chỉ được thực hiện cho bạn. Họ có thể định nghĩa PS1 ở nhiều nơi, vì vậy bạn nên đọc kỹ các tệp để xem cách chúng được cấu hình trên hệ thống của bạn. Chẳng hạn, nhiều hệ thống sẽ sử dụng giá trị PS1 khác nhau tùy thuộc vào việc thiết bị đầu cuối của bạn có hỗ trợ màu hay không.
Bất kỳ một trong ba tệp có thể tồn tại và được sử dụng cho phiên bash của bạn, nhưng nếu có nhiều hơn một, chúng sẽ được thực hiện theo thứ tự được liệt kê.
Nếu bạn không muốn xóa hoặc thay đổi dòng trong tệp khởi động của mình, bạn cũng có thể thêm câu lệnh PS1 = mới vào cuối một trong các tệp của mình để áp dụng lời nhắc tùy chỉnh.
Thêm màu vào lời nhắc của bạn
Nếu bạn đang sử dụng thiết bị đầu cuối hỗ trợ màu (và có thể là bạn), bạn có thể thêm màu vào dấu nhắc của mình. Màu sắc được thêm vào bằng cách sử dụng các chuỗi ký tự đặc biệt theo định dạng này:
\ e [ số m | Bắt đầu một phần màu. Giá trị số là một số đặc biệt hoặc cặp số, chỉ định màu. |
\ e [m | biểu thị sự kết thúc của phần màu; Đặt lại màu mặc định |
Chẳng hạn, chuỗi dấu nhắc:
PS1 = "\ e [1; 35m Đây là màu tím sáng. \ E [0; 35m ... và đây là màu tím đậm. \ E [m"
Sẽ tạo ra một dấu nhắc giống như thế này:
Dưới đây là danh sách các màu bạn có thể sử dụng và các số chỉ định chúng:
Số | Màu sắc / Phong cách | Số | Màu sắc / Phong cách |
---|---|---|---|
0; 30 | Đen | 1; 30 | Màu xám đen |
0; 31 | Màu đỏ | 1; 31 | Đỏ sáng |
0; 32 | màu xanh lá | 1; 32 | Màu xanh lá cây tươi sáng |
0; 33 | nâu | 1; 33 | Màu vàng |
0; 34 | Màu xanh da trời | 1; 34 | Xanh nhạt |
0; 35 | Màu tím | 1; 35 | Màu tím sáng |
0; 36 | Lục lam | 1; 36 | Sáng Cyan |
0; 37 | Xám | 1; 37 | trắng |
4; 30 | Đen, gạch chân | 40 | nền: Xám đậm |
4; 31 | Màu đỏ, gạch chân | 41 | nền: Đỏ |
4; 32 | Màu xanh lá cây, gạch chân | 42 | nền: Xanh |
4; 33 | Màu nâu, gạch chân | 43 | nền: Vàng |
4; 34 | Màu xanh, gạch chân | 44 | nền: màu xanh |
4; 35 | Màu tím, gạch chân | 45 | nền: màu tím |
4; 36 | Cyan, gạch chân | 46 | nền: Cyan |
4; 37 | Màu xám, gạch chân | 47 | Bối cảnh: Xám |
Dưới đây là một số ví dụ và chúng trông như thế nào:
PS1 = "\ e [0; 31mRed \ e [0; 32mGreen \ e [0; 33mBrown \ e [0; 34mBlue \ e [0; 35mPurple \ e [0; 36mCyan \ e [0; 37mGray \ e [m"
PS1 = "Gạch chân: \ e [4; 31mRed \ e [4; 32mGreen \ e [4; 33mBrown \ e [4; 34mBlue \ e [4; 35mPurple \ e [4; 36mCyan \ e [4; 37mGray \ e [4; m "
PS1 = "\ e [44m \ e [1; 35mBright màu tím trên nền màu xanh \ e [m"