新年が近づいてきたので、もう真面目な仕事のことは考えたくありません。
家、オフィス、職場など、誰もが休日に向けて何かを飾り付けようとしています...私たちも何かを飾りましょう!たとえば、コマンド ライン プロンプトです。ある意味、コマンド ラインは作業場でもあります。
一部のディストリビューションでは、すでに「装飾」されています。
他のものでは、灰色で目立たなくなります。
そして、たとえば次のようにすることができます。
もちろん、すべてのマーカーは異なる味と色を持っています。そのような色付けがあなたにとって安っぽく、不適切であると思われる場合は、この視点には生きる権利があることを知ってください。また、少し新年の雰囲気を加えたい場合は、Cloud4Y の短い新年の記事を読んでください。
まず、ターミナル出力がどのように「色付けされる」のかを説明します。これはエスケープ シーケンスを使用して行われます。より正確には、ANSI/VT100 端末の制御コード シーケンスです。これは自動的に、ターミナル エミュレータがこの標準をサポートする必要があることを意味します。サポートしていないと新年の奇跡は起こりません。はい、$SHELL が bash であると想定されます。
これらのコマンドは、それぞれの先頭に ASCII 文字「エスケープ」があるため、エスケープ シーケンスと呼ばれます。多くの制御シーケンスがあり、たとえば、端末設定の表示、カーソルの表示と移動の制御、フォントの変更、テキストの削除と非表示を実行できます。テキストと背景の色の変更など、さまざまな可能性の中から 1 つを選択します。
コードシーケンスを実行する *ESC*[{attr1};...;{attrn}m
象徴として エスケープ 8 進数形式が使用されます。 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 コマンドの高度な機能を使用する必要があったためです。キーを 1 つ追加するだけで十分です。 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] — 明るい青(第 2 属性)のフォントの色をオンにします
t – 現在の時刻を HH: MM: SS の形式で表示します
[ 33[0m] – フォントの色の設定をリセットする
, - カンマだけ (予想外ですよね?)
[ 33[32m] — 緑色のフォントの色をオンにする
う@l@h – ユーザー名、端末デバイス番号、および短いホスト名を「@」記号で区切って表示します。
[ 33[0m] — フォントの色の設定を再度リセットします
: - コロンだけ (突然!)
[ 33[33m] — 黄色のフォントの色をオンにする
W – 現在のディレクトリの名前を表示します
[ 33[0m] — フォントの色の設定を再度リセットします
, - カンマをもう 1 つ (誰が考えたでしょう!)
[ 33[31m] — 赤いフォントの色をオンにします
! — ターミナルにコマンド番号を表示します
[ 33[0m] - フォントの色の設定をリセットすることを忘れないでください
$ — ルートには「#」を出力し、他の全員には「$」を出力します
n - 行の翻訳。何のために?そのため、コマンドはコマンド ライン プロンプトの最後ではなく、ウィンドウの左端から開始されます。
変数をどこで再定義するか?これを行うのに最も論理的な場所は ~/.bashrc です。
招待状の外観はあなたの想像力によってのみ制限されます。原則として、上記のツールを使用してクリスマス ツリーの形式でコマンド ライン プロンプトを作成することを妨げるものはありません。確かに、そのような招待は非常に面倒であり、仕事がより便利になることは間違いありません。クリスマス ツリーは、ログイン時にコマンド ライン プロンプトの上に表示するだけで済みます (~/.bashrc を編集する必要があります)。頑張れ!ご清聴ありがとうございました。
ブログでは他に何が読めますか?
→
→
→
→
→
購読してください
出所: habr.com