命令列上的聖誕樹

新年快到了,我不想再考慮正經的工作了。

每個人都在嘗試為假期裝飾一些東西:家庭、辦公室、工作場所......讓我們也裝飾一些東西吧!例如,命令列提示符。從某種程度上來說,命令列也是一個工作場所。

在某些發行版中它已經被「裝飾」過:

命令列上的聖誕樹

在其他情況下,它是灰色的且不顯眼:

命令列上的聖誕樹

例如,我們可以這樣做:

命令列上的聖誕樹

當然,所有標記都有不同的口味和顏色。如果這樣的色彩對你來說顯得俗氣和不合適,那麼你要知道,這種觀點完全有生命的權利。如果您還想增添一點新年氣氛,請繼續閱讀 Cloud4Y 的簡短新年文章。

首先,我將解釋終端輸出如何「著色」。這是使用轉義序列完成的。或者更準確地說,是 ANSI/VT100 終端的控製代碼序列。這自動意味著你的終端模擬器必須支持這個標準,否則新年的奇蹟就不會發生。是的,$SHELL 被假定為您的 bash。

這些命令稱為轉義序列,因為每個命令的開頭都有一個 ASCII 字元「轉義」。有許多控制序列,例如,它們允許顯示終端設定、控制遊標的顯示和移動、更改字體、刪除和隱藏文字。我們將從所有多種可能性中選擇一種 - 更改文字和背景的顏色。

執行程式碼序列 *ESC*[{attr1};...;{attrn}m
作為一個象徵 逃逸 使用其八進制形式,即 33。至於屬性,這裡是可能值的簡短清單:

0 重置所有屬性
1 明亮(增加亮度)
2 暗淡
4 底線
5
7 撤銷
8 隱藏(隱藏文字)

前景色(筆顏色,文字以此顏色顯示):
30 黑色的
31 紅色的
32 綠色的
33 黃色的
34 藍色的
35 洋紅色(洋紅色)
36 青色(藍色)
37 白色的

背景顏色(紙張顏色或背景顏色):
40 黑色的
41 紅色的
42 綠色的
43 黃色的
44 藍色的
45 洋紅色(洋紅色)
46 青色(藍色)
47 白色的

請注意,如果您現在在終端機中命令: echo 33[0;31mнекоторый текст 33[0m’

……然後你可以預見地會在輸出中得到單色的官樣文章:

命令列上的聖誕樹

為什麼?因為需要使用echo指令的進階功能。增加一個鍵就足夠了: echo -e ‘ 33[0;31mнекоторый текст 33[0m’

現在輸出看起來是正確的:

命令列上的聖誕樹

我們已經整理了終端輸出的顏色。現在讓我們看看如何為命令提示字元著色。

這是透過更改 PS1 變數來完成的。此變數負責命令列提示。它的外觀也可以改變,包括使用轉義序列。但有一個細微的差別:您需要以符號“開始序列”[”,並以符號“結束]”,否則會輸出到終端。

bash 手冊中詳細描述了所有可能的命令序列,因此我邀請讀者自己選擇他們喜歡在命令列提示符下看到的內容。作為範例,我將給出 PS1 變數的值:

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

我將破解這個可怕的咒語:

[ 33[34;1m] — 開啟亮藍色(第二個屬性)字型顏色
t – 以 HH: MM: SS 格式顯示目前時間
[ 33[0米] – 重設字體顏色設定
, - 只是一個逗號(出乎意料,對吧?)
[ 33[32米] — 打開綠色字體顏色
你@l@h – 顯示使用者名稱、終端設備號碼和短主機名,以「@」符號分隔
[ 33[0米] — 再次重設字體顏色設定
: - 只是一個冒號(突然!)
[ 33[33米] — 打開黃色字體顏色
W – 顯示目前目錄的名稱
[ 33[0米] — 再次重設字體顏色設定
, - 另一個逗號(誰會想到!)
[ 33[31米] — 打開紅色字型
! — 在終端機中顯示指令編號
[ 33[0米] - 不要忘記重置字體顏色設置
$ — 為 root 列印“#”,為其他人列印“$”
n - 行翻譯。為了什麼?這樣命令就從視窗的左邊緣開始,而不是從命令列提示符號的最後開始。

在哪裡重新定義變數?執行此操作最合理的位置是 ~/.bashrc。

請柬的外觀僅受您的想像力限制。原則上,沒有什麼可以阻止您使用上述工具以聖誕樹的形式製作命令列提示符。誠然,這樣的邀約會很麻煩,工作也絕對不會變得更方便。登入時聖誕樹可以簡單地顯示在命令列提示符號上方(我們仍然需要編輯〜/.bashrc)。大膽試試吧!感謝您的關注。

命令列上的聖誕樹

您還可以在博客上閱讀什麼? 雲4Y

在 GNU/Linux 中設定 top
處於網路安全前沿的滲透測試人員
能夠帶來驚喜的新創公司
資料中心需要枕頭嗎?
機器人建造的房子

訂閱我們的 Telegram-頻道,這樣您就不會錯過下一篇文章!我們每週寫信不超過兩次,而且僅限於公務。我們也提醒您,企業雲端供應商Cloud4Y已推出「FZ-152雲端正價」促銷活動。您可以申請 至 31 月 XNUMX 日.

來源: www.habr.com

添加評論