شجرة عيد الميلاد على سطر الأوامر

العام الجديد قادم، لا أريد أن أفكر في العمل الجاد بعد الآن.

يحاول الجميع تزيين شيء ما لقضاء العطلة: المنزل، أو المكتب، أو مكان العمل... فلنقم بتزيين شيء ما أيضًا! على سبيل المثال، موجه سطر الأوامر. إلى حد ما، يعد سطر الأوامر أيضًا مكان عمل.

في بعض التوزيعات تم "تزيينها" بالفعل:

شجرة عيد الميلاد على سطر الأوامر

وفي حالات أخرى يكون رماديًا وغير واضح:

شجرة عيد الميلاد على سطر الأوامر

ويمكننا أن نفعل، على سبيل المثال، مثل هذا:

شجرة عيد الميلاد على سطر الأوامر

وبطبيعة الحال، كل العلامات لها أذواق وألوان مختلفة. إذا بدا لك هذا التلوين مبتذلاً وغير مناسب، فاعلم أن وجهة النظر هذه لها كل الحق في الحياة. وإذا كنت تريد أيضًا إضافة القليل من روح العام الجديد، فاقرأ مقالة قصيرة عن العام الجديد من Cloud4Y.

أولاً، سأشرح كيف يتم "تلوين" مخرجات الوحدة الطرفية. ويتم ذلك باستخدام تسلسل الهروب. أو بشكل أكثر دقة، تسلسلات كود التحكم الخاصة بمحطة ANSI/VT100. مما يعني تلقائيًا أن المحاكي الطرفي الخاص بك يجب أن يدعم هذا المعيار، وإلا فلن تحدث معجزة العام الجديد. ونعم، من المفترض أن يكون $SHELL هو حفلك.

تسمى هذه الأوامر بتسلسلات الهروب لأنه يوجد في بداية كل منها حرف ASCII "escape". هناك العديد من تسلسلات التحكم، وهي تسمح، على سبيل المثال، بعرض الإعدادات الطرفية، والتحكم في عرض المؤشر وحركته، وتغيير الخط، وحذف النص وإخفائه. سنختار واحدًا من بين مجموعة متنوعة من الاحتمالات - تغيير لون النص والخلفية.

تنفيذ تسلسل التعليمات البرمجية *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’

... فمن المتوقع أن تحصل على gobbledygook أحادية اللون في الإخراج:

شجرة عيد الميلاد على سطر الأوامر

لماذا؟ لأنه كان من الضروري استخدام الإمكانات المتقدمة لأمر الصدى. يكفي إضافة مفتاح واحد: 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;1م] - قم بتشغيل لون الخط الأزرق الساطع (السمة الثانية).
t - عرض الوقت الحالي بالتنسيق HH: MM: SS
[ 33[0م] - إعادة ضبط إعدادات لون الخط
, - مجرد فاصلة (غير متوقع، أليس كذلك؟)
[ 33[32م] - تشغيل لون الخط الأخضر
ش@ل@ح - عرض اسم المستخدم ورقم الجهاز الطرفي واسم المضيف القصير، مفصولين بالرمز "@".
[ 33[0م] - إعادة ضبط إعدادات لون الخط مرة أخرى
: - مجرد القولون (فجأة!)
[ 33[33م] - تشغيل لون الخط الأصفر
W – عرض اسم الدليل الحالي
[ 33[0م] - إعادة ضبط إعدادات لون الخط مرة أخرى
, - فاصلة أخرى (من كان يظن!)
[ 33[31م] - تشغيل لون الخط الأحمر
! - عرض رقم الأمر في المحطة
[ 33[0م] - لا تنس إعادة ضبط إعدادات لون الخط
$ - اطبع "#" للجذر و"$" لأي شخص آخر
n - ترجمة الخط. لماذا؟ بحيث يبدأ الأمر من الحافة اليسرى للنافذة، وليس من نهاية موجه سطر الأوامر.

أين يمكن إعادة تعريف المتغير؟ المكان الأكثر منطقية للقيام بذلك هو ~/.bashrc.

مظهر الدعوة يقتصر فقط على خيالك. من حيث المبدأ، لا شيء يمنعك من إنشاء موجه سطر أوامر على شكل شجرة عيد الميلاد باستخدام الأدوات الموضحة أعلاه. صحيح أن مثل هذه الدعوة ستكون مرهقة للغاية، وبالتأكيد لن يصبح العمل أكثر ملاءمة. يمكن ببساطة عرض شجرة عيد الميلاد أعلى موجه سطر الأوامر عند تسجيل الدخول (ما زلنا بحاجة إلى تعديل ~/.bashrc). أذهب خلفها ! وشكرا لاهتمامكم.

شجرة عيد الميلاد على سطر الأوامر

ماذا يمكنك أن تقرأ في المدونة؟ Cloud4Y

إعداد الجزء العلوي في نظام جنو/لينكس
Pentesters في طليعة الأمن السيبراني
الشركات الناشئة التي يمكن أن تكون مفاجأة
هل الوسائد مطلوبة في مركز البيانات؟
المنزل الذي بناه الروبوت

اشترك في موقعنا تیلیجرام-channel حتى لا تفوت المقالة التالية! نحن لا نكتب أكثر من مرتين في الأسبوع وفي العمل فقط. نذكرك أيضًا أن مزود السحابة للشركات Cloud4Y أطلق العرض الترويجي "FZ-152 Cloud بالسعر العادي". يمكنك تطبيق حتى 31 ديسمبر.

المصدر: www.habr.com

إضافة تعليق