ভূমিকা
সার্জারির 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
নীল রঙ হবে। বিকল্পভাবে, প্রিন্ট করার জন্য একটি সাধারণ ব্যাশ স্ক্রিপ্ট বিবেচনা করুন "ফ্রান্সে স্বাগতম" ফরাসি পতাকার রঙে:
#!/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
রং প্রতিনিধিত্ব:
Color | কোড | পাঠ্য শৈলী | কোড |
কালো | 30 | সাধারণ পাঠ্য | 0 |
লাল | 31 | পাঠ্য বোল্ড | 1 |
Green | 32 | কম তীব্রতা পাঠ্য | 2 |
বাদামী/কমলা | 33 | আন্ডারলাইন টেক্সট | 4 |
নীল | 34 | ব্লিঙ্কিং টেক্সট | 5 |
রক্তবর্ণ | 35 | অদৃশ্য পাঠ্য | 8 |
সায়ান | 36 | স্ট্রাইকথ্রু পাঠ্য | 9 |
উজ্জল ধূসর | 37 |
এই বিকল্পগুলির মধ্যে কয়েকটি অন্বেষণ করতে একটি ব্যাশ স্ক্রিপ্ট তৈরি করা যাক:
#!/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"
এই স্ক্রিপ্ট চালানোর ফলে:
সেরা-অভ্যাস, শিল্প-স্বীকৃত মান এবং অন্তর্ভুক্ত চিট শীট সহ গিট শেখার জন্য আমাদের হ্যান্ডস-অন, ব্যবহারিক গাইড দেখুন। গুগলিং গিট কমান্ড এবং আসলে বন্ধ করুন শেখা এটা!
একইভাবে, আপনি কোড ব্যবহার করে এই পাঠ্যের পটভূমির রঙ পরিবর্তন করতে পারেন 40..47
:
রঙ | কোড |
কালো | 40 |
লাল | 41 |
Green | 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 |
ব্লিঙ্কিং টেক্সট | নাচা |
বিপরীত টেক্সট | এনজিনের পার |
আসুন অন্য একটি স্ক্রিপ্ট তৈরি করি যা ব্যবহার করে 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 এস্কেপ সিকোয়েন্স এবং ব্যবহার করে tput
কমান্ড।
ব্যাশ ভেরিয়েবল, ব্যাকগ্রাউন্ড কালার এবং স্টাইল টেক্সট টুইক করে আপনি কীভাবে প্রক্রিয়াটিকে কম ভার্বোস করতে পারেন তাও আমরা অন্বেষণ করেছি।