কীভাবে করবেন: জিনোম টার্মিনালে আন্ডারলাইন, গা bold়, তির্যক স্ট্রাইকথ্রু এবং রঙ?
সাহসী
ইট্যালির
আনডারলাইন করা
s̶t̶r̶i̶k̶e̶ ̶i̶t̶ ̶l̶i̶k̶̶e̶ ̶i̶t̶s̶ ̶h̶o̶t
background
font
<(এটি না বলতে পারলে এর মনো)
কীভাবে করবেন: জিনোম টার্মিনালে আন্ডারলাইন, গা bold়, তির্যক স্ট্রাইকথ্রু এবং রঙ?
সাহসী
ইট্যালির
আনডারলাইন করা
s̶t̶r̶i̶k̶e̶ ̶i̶t̶ ̶l̶i̶k̶̶e̶ ̶i̶t̶s̶ ̶h̶o̶t
background
font
<(এটি না বলতে পারলে এর মনো)
উত্তর:
এএনএসআই / ভিটি 100 টার্মিনাল এবং টার্মিনাল এমুলেটরগুলি কেবল কালো এবং সাদা পাঠ্য প্রদর্শন করতে সক্ষম নয়; তারা রঙগুলি এবং ফর্ম্যাট করা পাঠ্যগুলি ক্রমাগত পালানোর জন্য ধন্যবাদ প্রদর্শন করতে পারে। এই সিকোয়েন্সগুলি এস্কেপ অক্ষর দ্বারা গঠিত (প্রায়শই "^ [" বা "ইস্ক" দ্বারা উপস্থাপন করা হয়) এর পরে কিছু অন্যান্য অক্ষর: "ইস্ক [ফরম্যাটকোডেম" থাকে।
বাশ-এ, নিম্নলিখিত সিনট্যাক্সগুলির সাহায্যে চরিত্রটি পাওয়া যায়:
\e
\033
\x1B
আদেশগুলি (সহজ অনুলিপি-পেস্টের জন্য):
echo -e "\e[1mbold\e[0m"
echo -e "\e[3mitalic\e[0m"
echo -e "\e[4munderline\e[0m"
echo -e "\e[9mstrikethrough\e[0m"
echo -e "\e[31mHello World\e[0m"
echo -e "\x1B[31mHello World\e[0m"
উত্স (সমস্ত প্রকারের অগ্রভাগ / পটভূমির রঙের কোড সহ): http://misc.flogisoft.com/bash/tip_colors_and_formatting
/apps/gnome-terminal/profiles/Default/font
)
PS1
(জিনোম-টার্মিনালে প্রকৃতপক্ষে) ব্যবহার করতে চেয়েছিলাম কারণ এর নীচের পাঠ্যগুলিতে আন্ডারলাইনযুক্ত মিশ্রণটি পড়ার পক্ষে এটি আরও শক্ত করে তোলে এবং অবশ্যই ধর্মঘটের মাধ্যমে কেবল ভুল দেখায়। সেখানে একটি লাইন থাকা স্ক্রোল করার সময় পূর্ববর্তী কমান্ডগুলিকে চিহ্নিত করতে সহায়তা করবে (যেমন রঙ হয়)।
সিলভেনের উত্তরটি প্রসারিত করতে কিছু সহায়ক কাজ করে:
ansi() { echo -e "\e[${1}m${*:2}\e[0m"; }
bold() { ansi 1 "$@"; }
italic() { ansi 3 "$@"; }
underline() { ansi 4 "$@"; }
strikethrough() { ansi 9 "$@"; }
red() { ansi 31 "$@"; }
তারপর
এখনও আবৃত হয়নি এমন কিছু হ'ল দুটি বা তিনটি প্যারামিটারের সংমিশ্রণ , উদাহরণস্বরূপ গা bold় এবং আন্ডারলাইন , পূর্বনির্ধারিত রঙে। এটি 3-উপায় সিনট্যাক্স দ্বারা অর্জন করা হয়েছে, উদাহরণস্বরূপ:
~$ printf "\e[3;4;33mthis is a test\n\e[0m"
"এটি একটি পরীক্ষা" এর জন্য হলুদ রঙ ( 33m
), ইটালিক ( 3m
) এবং আন্ডারলাইনড ( 4m
) এ মুদ্রিত হতে পারে ।
মনে রাখবেন যে প্রতিবার পুনরাবৃত্তি করা প্রয়োজন হবে না\e[
।
এটিও লক্ষ্য করুন (সিলেভেনের মতো) আমি \e[0m
প্রত্যেকবার সেটিংস পুনরায় সেট করার জন্য একটি যুক্ত করেছিলাম , কারণ অন্যথায় হলুদ বর্ণ এবং ফন্ট শৈলী টার্মিনালে সক্রিয় থাকবে! স্ক্রিপ্টগুলিতে পুনরায় সেট করার জন্য আপনাকে একেবারে নজরদারি করতে হবে তা বলার অপেক্ষা রাখে না, কারণ আপনার স্ক্রিপ্টগুলি ব্যবহারকারীরা এটিকে অপছন্দ করতে পারে যদি আপনার স্ক্রিপ্টটি স্থায়ীভাবে টার্মিনালে তাদের রঙ + স্টাইল সেটিংস সংশোধন করে!
জিনোম টার্মিনাল ৩.২৮ (ভিটিই ০.০২), উবুন্টু ১৮.০৪ এলটিএস-এ আত্মপ্রকাশ করে, কিটিতে দেখা হিসাবে কোঁকড়ানো এবং বর্ণযুক্ত আন্ডারলাইনগুলি, কনসোল-তে দেখা ওভারলাইন সহ আরও কয়েকটি শৈলীর জন্য সমর্থন যোগ করেছে এবং অবশেষে প্রত্যেকেই তার খুব পছন্দসই বা অনেক ঘৃণ্য ঝলক বৈশিষ্ট্য হিসাবেও রয়েছে।
এগুলি স্বয়ংক্রিয়ভাবে অন্য কোনও ভিটিই-ভিত্তিক টার্মিনাল এমুলেটর (যেমন টিলিক্স, টার্মিনেটর, এক্সফেস 4-টার্মিনাল, গুয়াক ইত্যাদি) এ কাজ করে, ভিটিই কমপক্ষে 0.52 সংস্করণে রয়েছে।
মানক অব্যাহতি ক্রমগুলি, পাশাপাশি জিনোম টার্মিনালের (ভিটিই) সংযোজনগুলি প্রদর্শন করে এমন একটি তালিকা এখানে রয়েছে। নোট করুন যে প্রতিটি খোলার ক্রমের জন্য আমি জেনেরিক \e[m
বা \e[0m
সমস্ত বিশেষ মোডগুলিকে অক্ষম না করে কেবল সেই সম্পত্তিটির সমাপ্তি ক্রমটিও দেখছি ।
echo -e '\e[1mbold\e[22m'
echo -e '\e[2mdim\e[22m'
echo -e '\e[3mitalic\e[23m'
echo -e '\e[4munderline\e[24m'
echo -e '\e[4:1mthis is also underline (new in 0.52)\e[4:0m'
echo -e '\e[21mdouble underline (new in 0.52)\e[24m'
echo -e '\e[4:2mthis is also double underline (new in 0.52)\e[4:0m'
echo -e '\e[4:3mcurly underline (new in 0.52)\e[4:0m'
echo -e '\e[5mblink (new in 0.52)\e[25m'
echo -e '\e[7mreverse\e[27m'
echo -e '\e[8minvisible\e[28m <- invisible (but copy-pasteable)'
echo -e '\e[9mstrikethrough\e[29m'
echo -e '\e[53moverline (new in 0.52)\e[55m'
echo -e '\e[31mred\e[39m'
echo -e '\e[91mbright red\e[39m'
echo -e '\e[38:5:42m256-color, de jure standard (ITU-T T.416)\e[39m'
echo -e '\e[38;5;42m256-color, de facto standard (commonly used)\e[39m'
echo -e '\e[38:2::240:143:104mtruecolor, de jure standard (ITU-T T.416) (new in 0.52)\e[39m'
echo -e '\e[38:2:240:143:104mtruecolor, rarely used incorrect format (might be removed at some point)\e[39m'
echo -e '\e[38;2;240;143;104mtruecolor, de facto standard (commonly used)\e[39m'
echo -e '\e[46mcyan background\e[49m'
echo -e '\e[106mbright cyan background\e[49m'
echo -e '\e[48:5:42m256-color background, de jure standard (ITU-T T.416)\e[49m'
echo -e '\e[48;5;42m256-color background, de facto standard (commonly used)\e[49m'
echo -e '\e[48:2::240:143:104mtruecolor background, de jure standard (ITU-T T.416) (new in 0.52)\e[49m'
echo -e '\e[48:2:240:143:104mtruecolor background, rarely used incorrect format (might be removed at some point)\e[49m'
echo -e '\e[48;2;240;143;104mtruecolor background, de facto standard (commonly used)\e[49m'
echo -e '\e[21m\e[58:5:42m256-color underline (new in 0.52)\e[59m\e[24m'
echo -e '\e[21m\e[58;5;42m256-color underline (new in 0.52)\e[59m\e[24m'
echo -e '\e[4:3m\e[58:2::240:143:104mtruecolor underline (new in 0.52) (*)\e[59m\e[4:0m'
echo -e '\e[4:3m\e[58:2:240:143:104mtruecolor underline (new in 0.52) (might be removed at some point) (*)\e[59m\e[4:0m'
echo -e '\e[4:3m\e[58;2;240;143;104mtruecolor underline (new in 0.52) (*)\e[59m\e[4:0m'
(*) আন্ডারলাইনগুলির জন্য ট্রুইকালার মানগুলি সামান্য আনুমানিক।
আর একটু অদ্ভুত এক যে এই ছবিতে বেশ উপযুক্ত নয়, যেমন একটি শৈলী চেয়ে কার্যকারিতা আরো, এখনো সম্ভবত এখানে কহতব্য হয়, হাইপারলিঙ্ক iTerm2 সঙ্গে সমর্থন সহ-পরিকল্পিত, যেহেতু গনোম টার্মিনাল 3.26 (VTE 0.50) উপলব্ধ :
echo -e '\e]8;;http://askubuntu.com\e\\hyperlink\e]8;;\e\\'
এই হার্ড-কোডেড ক্রমগুলি এর দ্বারা প্রতিস্থাপন করুন:
tput smul # set underline
tput rmul # remove underline
tput smso # set bold on
tput rmso # remove bold
tput setaf 1 #red
tput setaf 2 #green
...
tput cup 0 0 # move to pos 0,0
এই কমান্ডগুলির সম্পূর্ণ বিবরণের জন্য "ম্যান টার্মিনফো" এবং "ম্যান টপুট" দেখুন।
উদাহরণ:
function f_help
{
c_green=$(tput setaf 2 2>/dev/null)
c_reset=$(tput sgr0 2>/dev/null)
c_bold=$(tput smso 2>/dev/null)
echo "${c_bold}DESCRIPTION${c_reset} : .... ${c_green}My green text${c_reset}My plain text"
}