درخت کریسمس در خط فرمان

سال نو در راه است، من دیگر نمی خواهم به کار جدی فکر کنم.

همه سعی می کنند چیزی را برای تعطیلات تزئین کنند: خانه، محل کار، محل کار... بیایید چیزی را هم تزئین کنیم! به عنوان مثال، خط فرمان. خط فرمان تا حدودی محل کار نیز هست.

در برخی از توزیع ها قبلاً "تزیین شده" است:

درخت کریسمس در خط فرمان

در برخی دیگر، خاکستری و نامشخص است:

درخت کریسمس در خط فرمان

و برای مثال می توانیم این کار را انجام دهیم:

درخت کریسمس در خط فرمان

البته همه مارکرها طعم و رنگ متفاوتی دارند. اگر چنین رنگ آمیزی به نظر شما چسبنده و نامناسب است، بدانید که این دیدگاه حق حیات دارد. و اگر می خواهید کمی روحیه سال نو را اضافه کنید، مقاله کوتاه سال نو را از Cloud4Y بخوانید.

ابتدا توضیح خواهم داد که چگونه خروجی ترمینال "رنگی" است. این کار با استفاده از توالی های فرار انجام می شود. یا به طور دقیق تر، توالی کد کنترل ترمینال ANSI/VT100. که به طور خودکار به این معنی است که شبیه ساز ترمینال شما باید از این استاندارد پشتیبانی کند، در غیر این صورت معجزه سال نو رخ نخواهد داد. و بله، $SHELL به عنوان bash شما فرض می شود.

این دستورات دنباله فرار نامیده می شوند زیرا در ابتدای هر یک از آنها یک کاراکتر 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;1m] - رنگ فونت آبی روشن (ویژگی دوم) را روشن کنید
t – نمایش زمان فعلی با فرمت HH: MM: SS
[33[0m] - تنظیمات رنگ فونت را بازنشانی کنید
, - فقط یک کاما (غیر منتظره، درست است؟)
[33[32m] - رنگ فونت سبز را روشن کنید
u@l@h - نمایش نام کاربری، شماره دستگاه ترمینال و نام کوتاه میزبان، که با علامت "@" از هم جدا شده اند
[33[0m] - دوباره تنظیمات رنگ فونت را بازنشانی کنید
: - فقط یک کولون (ناگهان!)
[33[33m] - رنگ فونت زرد را روشن کنید
W – نمایش نام دایرکتوری فعلی
[33[0m] - دوباره تنظیمات رنگ فونت را بازنشانی کنید
, - یک کاما دیگر (چه کسی فکرش را می کرد!)
[33[31m] - رنگ فونت قرمز را روشن کنید
! - نمایش شماره فرمان در ترمینال
[33[0m] - فراموش نکنید که تنظیمات رنگ فونت را بازنشانی کنید
$ - "#" را برای root و "$" را برای بقیه چاپ کنید
n - ترجمه خطی برای چی؟ به طوری که دستور از لبه سمت چپ پنجره شروع می شود، نه در انتهای خط فرمان.

کجا یک متغیر را دوباره تعریف کنیم؟ منطقی ترین مکان برای انجام این کار ~/.bashrc است.

ظاهر دعوتنامه فقط با تخیل شما محدود می شود. در اصل، هیچ چیز شما را از ایجاد یک خط فرمان به شکل درخت کریسمس با استفاده از ابزارهای شرح داده شده در بالا باز نمی دارد. درست است، چنین دعوتی بسیار دست و پا گیر خواهد بود و کار قطعا راحت تر نخواهد شد. درخت کریسمس به سادگی می تواند در بالای خط فرمان هنگام ورود به سیستم نمایش داده شود (ما هنوز باید ~/.bashrc را ویرایش کنیم). به دنبال آن برو! و ممنون از توجه شما

درخت کریسمس در خط فرمان

چه چیز دیگری می توانید در وبلاگ بخوانید؟ Cloud4Y

راه اندازی تاپ در گنو/لینوکس
نفوذگران در خط مقدم امنیت سایبری
استارتاپ هایی که می توانند غافلگیر شوند
آیا بالش در مرکز داده مورد نیاز است؟
خانه ای که یک ربات ساخت

مشترک ما شوید تلگرام-کانال تا مقاله بعدی را از دست ندهید! ما بیش از دو بار در هفته نمی نویسیم و فقط به صورت تجاری. همچنین به شما یادآوری می کنیم که ارائه دهنده ابر شرکتی Cloud4Y تبلیغات "FZ-152 Cloud با قیمت معمولی" را راه اندازی کرده است. می توانید درخواست دهید تا 31 دسامبر.

منبع: www.habr.com

اضافه کردن نظر