تعارف
۔ echo
کمانڈ کو دی گئی سٹرنگ آؤٹ پٹ کرتی ہے۔ معیاری آؤٹ پٹ پائپ، عام طور پر ٹرمینل کی طرف اشارہ کرنا۔ اگرچہ معیاری آؤٹ پٹ پائپ دوسرے انٹرفیس کی طرف اشارہ کر سکتا ہے۔ echo
کمانڈ عام طور پر ٹرمینل میں پیغامات کو پرنٹ اور ڈسپلے کرنے کے لیے استعمال ہوتا ہے۔ پہلے سے طے شدہ طور پر، دکھائے گئے پیغام کا متن ٹرمینل میں موجود دوسرے متن کا رنگ وراثت میں حاصل کرتا ہے (جو خود میں اور حسب ضرورت ہے)۔ تاہم - آپ کے آؤٹ پٹ رنگ کو تبدیل کرنے کے کئی طریقے ہیں۔ echo
- دونوں انفرادی تاروں کے لیے اور پورے پیغامات کے لیے۔
اس مختصر گائیڈ میں، ہم اس پر ایک نظر ڈالیں گے کہ آپ آؤٹ پٹ کا رنگ کیسے تبدیل کر سکتے ہیں۔
echo
لینکس پر مبنی نظاموں میں، ANSI فرار کوڈز کا استعمال کرتے ہوئے،tput
اور آپ باش اسکرپٹس میں اس عمل کو کم لفظی کیسے بنا سکتے ہیں۔
ANSI فرار کوڈز کے ساتھ آؤٹ پٹ کا رنگ تبدیل کریں۔
رنگ تبدیل کرنے کا سب سے آسان طریقہ ANSI فرار کی ترتیب/کوڈز کے ذریعے ہے۔ تمام ANSI فرار کوڈز سے شروع ہوتے ہیں۔ Escape
کردار، جس کی مختلف شکلوں میں نمائندگی کی جا سکتی ہے۔ 27
اعشاریہ میں، x1B
ہیکساڈیسیمل میں، بطور کنٹرول کلید ^[
، یا 33
آکٹل فارمیٹ میں۔ ترتیب پھر کمانڈ کے بعد ہوتی ہے:
33[command
جہاں افتتاحی بریکٹ (کنٹرول ترتیب تعارف کنندہ) اختیاری ہے، لیکن کمانڈ کو فرار کردار سے الگ کرنے میں مدد کرتا ہے۔ جب آپ ایک ڈالتے ہیں۔ رنگین کوڈ کمانڈ کے طور پر، یہ آنے والے متن کا رنگ تبدیل کرتا ہے:
33[0;34
0;34
مثال کے طور پر نیلے رنگ کا کوڈ ہے۔ صرف اس کے ساتھ، آپ متن کا رنگ تبدیل کر سکتے ہیں۔ echo
کے ساتھ:
33[0;34Text
کہاں Text
نیلے رنگ کا ہو گا. متبادل طور پر، پرنٹ کرنے کے لیے ایک سادہ bash اسکرپٹ پر غور کریں۔ "فرانس میں خوش آمدید" فرانسیسی پرچم کے رنگوں میں:
#!/bin/bash
BLUE='33[0;34m'
WHITE= '33[0;37m'
RED= '33[0;31m'
echo -e "${Blue}Welcome ${WHITE}to ${RED}France"
اختیاری -e
کا پرچم echo
کمانڈ آپ کو خصوصی حروف جیسے استعمال کرنے کی اجازت دیتا ہے۔ n
(نئی لائن) اور t
(ٹیب) ان پٹ سٹرنگ کے اندر۔
ایک بار جب آپ اسکرپٹ چلاتے ہیں:
$ ./colors.sh
اس کے نتیجے میں:
ANSI کوڈز صرف رنگ تک ہی محدود نہیں ہیں - بلکہ اسٹائل کے لیے بھی لاگو کیے جا سکتے ہیں۔ کوڈز 0..9
متن کے انداز کی نمائندگی کرتے ہیں، جبکہ کوڈز 30...37
رنگوں کی نمائندگی کریں:
رنگ | کوڈ | ٹیکسٹ اسٹائلز | کوڈ |
سیاہ | 30 | سادہ متن | 0 |
ریڈ | 31 | بولڈ متن | 1 |
سبز | 32 | کم شدت والا متن | 2 |
براؤن/اورنج | 33 | متن کو انڈر لائن کریں۔ | 4 |
بلیو | 34 | ٹمٹمانے والا متن | 5 |
جامنی | 35 | غیر مرئی متن | 8 |
لاجوردی | 36 | سٹرائیک تھرو ٹیکسٹ | 9 |
ہلکا مٹیالا | 37 |
آئیے ان اختیارات میں سے کچھ کو دریافت کرنے کے لیے ایک bash اسکرپٹ بنائیں:
#!/bin/bash
echo -e "33[0;33mSample text"
echo -e "33[1;33mBold text"
echo -e "33[2;33mLow intensity text"
echo -e "33[4;33mUnderline text"
echo -e "33[5;33mBlinking text"
echo -e "33[8;33mInvisible text"
echo -e "33[9;33mStrikethrough text"
اس اسکرپٹ کو چلانے کے نتیجے میں:
بہترین طرز عمل، صنعت کے لیے منظور شدہ معیارات، اور چیٹ شیٹ کے ساتھ Git سیکھنے کے لیے ہمارے ہینڈ آن، عملی گائیڈ کو دیکھیں۔ گوگلنگ گٹ کمانڈز کو روکیں اور اصل میں سیکھ یہ!
اسی طرح، آپ کوڈز کا استعمال کرتے ہوئے ان متن کے پس منظر کا رنگ تبدیل کر سکتے ہیں۔ 40..47
:
رنگ | کوڈ |
سیاہ | 40 |
ریڈ | 41 |
سبز | 42 |
براؤن/اورنج | 43 |
بلیو | 44 |
جامنی | 45 |
لاجوردی | 46 |
ہلکا مٹیالا | 47 |
دیئے گئے سٹرنگ کے پس منظر کو تبدیل کرنا اسی اصول پر ابلتا ہے جیسے فونٹ کا رنگ تبدیل کرتے وقت - کوڈ خود رویے کو تبدیل کرتا ہے:
#!/bin/bash
BLUE='33[0;44m'
BLACK='33[0;30m'
WHITE='33[0;30;47m'
RED='33[0;41m'
echo -e "${BLUE}Welcome ${WHITE}to ${RED}France"
نوٹ: انگوٹھے کے اصول کے طور پر - آپ 10 کا اضافہ کر کے فونٹ کے رنگوں کو پس منظر کے رنگوں میں ترجمہ کر سکتے ہیں۔ 30
کالے فونٹ کا رنگ ہے، 40
سیاہ پس منظر کا رنگ ہے۔
ٹی پٹ کے ساتھ آؤٹ پٹ کا رنگ تبدیل کریں۔
ANSI کوڈز کا متبادل استعمال کر رہا ہے۔ tput
کمانڈ:
$ tput setaf color_code
setf
8 رنگوں کی اجازت دیتا ہے، جبکہ setaf
256 رنگوں کی اجازت دیتا ہے لہذا آپ جو کمانڈ استعمال کر رہے ہیں اس پر منحصر ہے، آپ ان کے درمیان جا سکتے ہیں۔ 0..7
اور 0..255
رنگ کے کوڈ کے طور پر. دونوں حکم دیتا ہے 0..7
اسی رنگ کے کوڈز پر، جبکہ ساتھ setaf
, 8..15
اعلی شدت والے رنگ ہیں، اور 16..231
پہلے 8 کے مختلف رنگ ہیں، اور 232..255
گرے اسکیل رنگ ہیں:
کریڈٹ: وکیپیڈیا
آخر میں، tput
آپ کو دیگر کمانڈز کے ساتھ پس منظر کا رنگ تبدیل کرنے، بولڈ شامل کرنے، شدت کو کم کرنے وغیرہ کی بھی اجازت دیتا ہے:
ٹیکسٹ اسٹائلز | حکم دیتا ہے |
پیش منظر کا رنگ | سیٹاف |
پس منظر کا رنگ | سیٹاب |
کوئی انداز نہیں۔ | sgv0 |
بولڈ متن | جرات مندانہ |
کم شدت والا متن | مدھم |
متن کو انڈر لائن کریں۔ | smul |
ٹمٹمانے والا متن | پلکیں جھپکاتی |
الٹا متن | rev |
آئیے ایک اور اسکرپٹ بناتے ہیں جو استعمال کرتا ہے۔ tput
آؤٹ پٹ کا رنگ تبدیل کرنے کے لیے echo
:
#!/bin/bash
YELLOW=`tput setaf 3`
echo "${YELLOW}Changing"
WHITE=`tput setaf 7 bold`
echo "${WHITE}Colors"
BLUE=`tput setaf 4 smul`
echo "${BLUE}With tput"
CYAN=`tput setaf 6 blink`
echo "${CYAN}is less"
RED=`tput setab 1 setaf 7`
echo "${RED}verbose!"
یہ اسکرپٹ ٹرمینل میں درج ذیل آؤٹ پٹ کو پرنٹ کرے گا۔
tput کمانڈ ایک سادہ رنگ کوڈ کے ذریعے کسی بھی رنگ کو پرنٹ کرنے کا آسان طریقہ فراہم کرتی ہے۔ آئیے اب ایک اسکرپٹ بنائیں جو tput کمانڈ کے لیے دستیاب ہر کلر کوڈ کو پرنٹ کر سکے۔
#!/bin/bash
tput init
end = $ (($ (tput colors) - 1))
w = 1
for c
in $ (seq 0 $end)
do
eval "$(printf " tput setaf % 3 s " " $c ")"
echo - n "$_"
[[$c - ge $ ((w * 2))]]
offset = 2 || offset = 0
[[$ (((c + offset) % (w - offset))) - eq $ (((w - offset) - 1))]]
echo
done
tput init
یہ 0 سے 255 رنگ اور ان کے کوڈ پرنٹ کرے گا:
نتیجہ
اس مختصر گائیڈ میں - ہم نے اس پر ایک نظر ڈالی ہے کہ آپ کس طرح رنگ تبدیل کر سکتے ہیں۔ echo
لینکس میں آؤٹ پٹ - ANSI Escape Sequences کا استعمال کرتے ہوئے اور tput
کمانڈر
ہم نے یہ بھی دریافت کیا ہے کہ آپ Bash متغیرات، پس منظر کے رنگوں اور طرز کے متن کو موافقت کا استعمال کرتے ہوئے عمل کو کم لفظی کیسے بنا سکتے ہیں۔