Cây Giáng sinh trên dòng lệnh

Năm mới sắp đến, tôi không muốn nghĩ đến công việc nghiêm túc nữa.

Mọi người đều đang cố gắng trang trí một thứ gì đó cho ngày lễ: nhà, văn phòng, nơi làm việc... Hãy cùng trang trí một thứ gì đó nhé! Ví dụ, một dấu nhắc dòng lệnh. Ở một mức độ nào đó, dòng lệnh cũng là nơi làm việc.

Trong một số bản phân phối, nó đã được "trang trí":

Cây Giáng sinh trên dòng lệnh

Ở những nơi khác, nó có màu xám và không dễ thấy:

Cây Giáng sinh trên dòng lệnh

Và chúng ta có thể làm, ví dụ như thế này:

Cây Giáng sinh trên dòng lệnh

Tất nhiên, tất cả các điểm đánh dấu đều có mùi vị và màu sắc khác nhau. Nếu màu sắc như vậy có vẻ khó chịu và không phù hợp với bạn, thì hãy biết rằng quan điểm này có mọi quyền sống. Và nếu bạn cũng muốn thêm một chút không khí năm mới, hãy đọc tiếp bài viết ngắn về năm mới từ Cloud4Y.

Đầu tiên, tôi sẽ giải thích cách đầu ra của thiết bị đầu cuối được “tô màu”. Điều này được thực hiện bằng cách sử dụng các chuỗi thoát. Hay chính xác hơn là các chuỗi mã điều khiển của thiết bị đầu cuối ANSI/VT100. Điều này tự động có nghĩa là trình mô phỏng thiết bị đầu cuối của bạn phải hỗ trợ tiêu chuẩn này, nếu không điều kỳ diệu của năm mới sẽ không xảy ra. Và vâng, $SHELL được coi là bash của bạn.

Các lệnh này được gọi là chuỗi thoát vì ở đầu mỗi lệnh có một ký tự ASCII “thoát”. Có nhiều trình tự điều khiển, chẳng hạn như chúng cho phép hiển thị cài đặt đầu cuối, điều khiển hiển thị và chuyển động của con trỏ, thay đổi phông chữ, xóa và ẩn văn bản. Chúng tôi sẽ chọn một trong số nhiều khả năng - thay đổi màu của văn bản và nền.

Thực hiện chuỗi mã *ESC*[{attr1};...;{attrn}m
Là một biểu tượng trốn thoát dạng bát phân của nó được sử dụng, đó là 33. Đối với các thuộc tính, đây là danh sách ngắn các giá trị có thể có:

0 Đặt lại tất cả thuộc tính
1 Sáng (tăng độ sáng)
2 Lờ mờ
4 gạch dưới
5 chớp mắt
7 Đảo ngược
8 Ẩn (ẩn văn bản)

Màu nền trước (màu bút, văn bản được hiển thị bằng màu này):
30 Đen
31 Màu đỏ
32 Màu xanh lá
33 Màu vàng
34 Màu xanh da trời
35 Màu đỏ tươi (màu đỏ tươi)
36 Lục lam (xanh dương)
37 Màu trắng (белый)

Màu nền (màu giấy, hoặc màu nền):
40 Đen
41 Màu đỏ
42 Màu xanh lá
43 Màu vàng
44 Màu xanh da trời
45 Màu đỏ tươi (màu đỏ tươi)
46 Lục lam (xanh dương)
47 Màu trắng (белый)

Lưu ý rằng nếu bây giờ bạn ra lệnh trong terminal: echo 33[0;31mнекоторый текст 33[0m’

... thì có thể đoán trước là bạn sẽ nhận được gobbledygook đơn sắc ở đầu ra:

Cây Giáng sinh trên dòng lệnh

Tại sao? Bởi vì cần phải sử dụng các khả năng nâng cao của lệnh echo. Chỉ cần thêm một khóa là đủ: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

Đầu ra bây giờ sẽ trông chính xác:

Cây Giáng sinh trên dòng lệnh

Chúng tôi đã sắp xếp màu sắc của đầu ra cho thiết bị đầu cuối. Bây giờ hãy xem cách tô màu dấu nhắc lệnh.

Điều này được thực hiện bằng cách thay đổi biến PS1. Biến chịu trách nhiệm về dấu nhắc dòng lệnh. Diện mạo của nó cũng có thể được thay đổi, bao gồm cả việc sử dụng các chuỗi thoát. Nhưng có một chút khác biệt: bạn cần bắt đầu chuỗi bằng ký hiệu “[”, và kết thúc bằng ký hiệu “]”, nếu không nó sẽ được xuất ra thiết bị đầu cuối.

Tất cả các chuỗi lệnh có thể có đều được mô tả chi tiết trong hướng dẫn sử dụng bash, vì vậy tôi mời người đọc tự chọn những gì họ muốn xem tại dấu nhắc dòng lệnh. Ví dụ: tôi sẽ đưa ra giá trị của mình cho biến PS1:

[ 33[34;1m]t[ 33[0m],[ 33[32m]u@l@h[ 33[0m]:[ 33[33m]W[ 33[0m],[ 33
[31m]![ 33[0m]$n

Tôi sẽ giải mã câu thần chú khủng khiếp này:

[ 33[34;1m] - bật màu phông chữ màu xanh sáng (thuộc tính thứ hai)
t – hiển thị thời gian hiện tại theo định dạng HH:MM:SS
[ 33[0m] - đặt lại cài đặt màu phông chữ
, - chỉ là một dấu phẩy (ngạc nhiên thay, phải không?)
[ 33[32m] - bật màu chữ xanh
u@l@h – hiển thị tên người dùng, số thiết bị đầu cuối và tên máy chủ ngắn, được phân tách bằng ký hiệu “@”
[ 33[0m] - đặt lại cài đặt màu phông chữ một lần nữa
: - chỉ là dấu hai chấm (đột nhiên!)
[ 33[33m] - bật màu chữ vàng
W – hiển thị tên thư mục hiện tại
[ 33[0m] - đặt lại cài đặt màu phông chữ một lần nữa
, - một dấu phẩy khác (ai mà ngờ được!)
[ 33[31m] - bật màu chữ đỏ
! - hiển thị số lệnh trong terminal
[ 33[0m] - đừng quên đặt lại cài đặt màu phông chữ
$ — in “#” cho root và “$” cho những người khác
n - dịch dòng. Để làm gì? Vì vậy, lệnh bắt đầu ở cạnh trái của cửa sổ, thay vì ở cuối dấu nhắc dòng lệnh.

Nơi để xác định lại một biến? Nơi hợp lý nhất để làm điều này là ~/.bashrc.

Sự xuất hiện của lời mời chỉ bị giới hạn bởi trí tưởng tượng của bạn. Về nguyên tắc, không có gì ngăn cản bạn tạo lời nhắc dòng lệnh dưới dạng cây thông Noel bằng các công cụ được mô tả ở trên. Đúng là lời mời như vậy sẽ rất rườm rà và công việc chắc chắn sẽ không trở nên thuận lợi hơn. Cây Giáng sinh có thể được hiển thị đơn giản phía trên dấu nhắc dòng lệnh khi đăng nhập (chúng ta vẫn cần chỉnh sửa ~/.bashrc). Cứ liều thử đi! Và cảm ơn sự quan tâm của bạn.

Cây Giáng sinh trên dòng lệnh

Bạn có thể đọc gì khác trên blog? Đám mây4Y

Thiết lập hàng đầu trong GNU/Linux
Pentesters đi đầu trong lĩnh vực an ninh mạng
Các công ty khởi nghiệp có thể gây bất ngờ
Gối có cần thiết trong trung tâm dữ liệu không?
Ngôi nhà do robot xây dựng

Đăng ký của chúng tôi Telegram-channel để không bỏ lỡ bài viết tiếp theo nhé! Chúng tôi viết không quá hai lần một tuần và chỉ viết về công việc. Chúng tôi cũng xin nhắc bạn rằng nhà cung cấp đám mây doanh nghiệp Cloud4Y đã tung ra chương trình khuyến mãi “FZ-152 Cloud với giá thông thường”. Bạn có thể áp dụng đến ngày 31 tháng XNUMX.

Nguồn: www.habr.com

Thêm một lời nhận xét