کمانڈ لائن پر کرسمس ٹری

نیا سال آرہا ہے، میں اب سنجیدہ کام کے بارے میں نہیں سوچنا چاہتا۔

ہر کوئی چھٹی کے لیے کچھ نہ کچھ سجانے کی کوشش کر رہا ہے: گھر، دفتر، کام کی جگہ... آئیے بھی کچھ سجاتے ہیں! مثال کے طور پر، ایک کمانڈ لائن پرامپٹ۔ کسی حد تک، کمانڈ لائن بھی کام کی جگہ ہے۔

کچھ تقسیموں میں یہ پہلے ہی "سجا ہوا" ہے:

کمانڈ لائن پر کرسمس ٹری

دوسروں میں، یہ سرمئی اور غیر واضح ہے:

کمانڈ لائن پر کرسمس ٹری

اور ہم کر سکتے ہیں، مثال کے طور پر، اس طرح:

کمانڈ لائن پر کرسمس ٹری

بلاشبہ، تمام مارکروں کا ذائقہ اور رنگ مختلف ہوتے ہیں۔ اگر اس طرح کا رنگ آپ کو مشکل اور نامناسب لگتا ہے، تو جان لیں کہ اس نقطہ نظر کو زندگی گزارنے کا پورا حق حاصل ہے۔ اور اگر آپ بھی نئے سال کا تھوڑا سا جذبہ شامل کرنا چاہتے ہیں تو Cloud4Y سے نئے سال کا ایک مختصر مضمون پڑھیں۔

سب سے پہلے، میں وضاحت کروں گا کہ ٹرمینل آؤٹ پٹ "رنگین" کیسے ہوتا ہے۔ یہ فرار کے سلسلے کا استعمال کرتے ہوئے کیا جاتا ہے۔ یا زیادہ واضح طور پر، ANSI/VT100 ٹرمینل کے کنٹرول کوڈ کی ترتیب۔ جس کا خود بخود مطلب ہے کہ آپ کے ٹرمینل ایمولیٹر کو اس معیار کی حمایت کرنی چاہیے، ورنہ نئے سال کا معجزہ رونما نہیں ہوگا۔ اور ہاں، $SHELL کو آپ کا باش سمجھا جاتا ہے۔

ان کمانڈز کو Escape sequences کہا جاتا ہے کیونکہ ان میں سے ہر ایک کے شروع میں 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’

...پھر آپ کو پیشین گوئی کے مطابق آؤٹ پٹ پر مونوکروم گوبلڈیگوک ملے گا:

کمانڈ لائن پر کرسمس ٹری

کیوں؟ کیونکہ ایکو کمانڈ کی جدید صلاحیتوں کو استعمال کرنا ضروری تھا۔ ایک کلید شامل کرنا کافی ہے: 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] - فونٹ کے رنگ کی ترتیبات کو دوبارہ ترتیب دینا نہ بھولیں۔
$ - روٹ کے لیے "#" اور باقی سب کے لیے "$" پرنٹ کریں۔
n - سطری ترجمہ۔ کس لیے؟ تاکہ کمانڈ ونڈو کے بائیں کنارے سے شروع ہو نہ کہ کمانڈ لائن پرامپٹ کے آخر میں۔

متغیر کی نئی وضاحت کہاں کی جائے؟ ایسا کرنے کی سب سے منطقی جگہ ~/.bashrc ہے۔

دعوت کی ظاہری شکل صرف آپ کے تخیل تک محدود ہے۔ اصولی طور پر، اوپر بیان کردہ ٹولز کا استعمال کرتے ہوئے آپ کو کرسمس ٹری کی شکل میں کمانڈ لائن پرامپٹ بنانے سے کوئی چیز نہیں روکتی ہے۔ سچ ہے، اس طرح کی دعوت بہت بوجھل ہوگی، اور کام یقینی طور پر زیادہ آسان نہیں ہوگا۔ کرسمس ٹری کو لاگ ان کرتے وقت کمانڈ لائن پرامپٹ کے اوپر آسانی سے دکھایا جا سکتا ہے (ہمیں ابھی بھی ~/.bashrc میں ترمیم کرنے کی ضرورت ہے)۔ اس کے لیے جاؤ! اور آپ کی توجہ کا شکریہ۔

کمانڈ لائن پر کرسمس ٹری

آپ بلاگ پر اور کیا پڑھ سکتے ہیں؟ Cloud4Y

GNU/Linux میں ٹاپ سیٹ کرنا
سائبر سیکیورٹی میں سب سے آگے پینٹسٹر
ایسے اسٹارٹ اپ جو حیران کر سکتے ہیں۔
کیا ڈیٹا سینٹر میں تکیوں کی ضرورت ہے؟
وہ گھر جو ایک روبوٹ نے بنایا تھا۔

ہمارے سبسکرائب کریں۔ تار-چینل تاکہ آپ اگلے مضمون سے محروم نہ ہوں! ہم ہفتے میں دو بار سے زیادہ نہیں اور صرف کاروبار پر لکھتے ہیں۔ ہم آپ کو یہ بھی یاد دلاتے ہیں کہ کارپوریٹ کلاؤڈ فراہم کنندہ Cloud4Y نے "FZ-152 Cloud باقاعدہ قیمت پر" پروموشن شروع کیا ہے۔ آپ درخواست دے سکتے ہیں۔ 31 دسمبر تک.

ماخذ: www.habr.com

نیا تبصرہ شامل کریں