আমি সর্বদা আমার লিনাক্সে এই রঙিন হওয়ার জন্য আমার প্রম্পটটি তৈরি করি তারপরে আমি ব্ল্যাক কমান্ড উইন্ডোতে আমার ইনপুটটি খুঁজে পেতে পারি। তবে আমরা কি আমার পাওয়ারশেলগুলিতে একই রঙ তৈরি করতে পারি ?
আমি সর্বদা আমার লিনাক্সে এই রঙিন হওয়ার জন্য আমার প্রম্পটটি তৈরি করি তারপরে আমি ব্ল্যাক কমান্ড উইন্ডোতে আমার ইনপুটটি খুঁজে পেতে পারি। তবে আমরা কি আমার পাওয়ারশেলগুলিতে একই রঙ তৈরি করতে পারি ?
উত্তর:
আপনি যা করতে চান তা হ'ল প্রম্পটটি কাস্টমাইজ করুন ।
পাওয়ারশেল 3.0 এ ডিফল্ট প্রম্পট এবং নতুনটি হ'ল:
function prompt
{
"PS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) "
}
এখন, উইন্ডোজ 10 তার কনহস্টে এএনএসআই এস্কেপ কোডগুলি সমর্থন করে এবং 1703 সাল থেকে 24-বিট রঙ সমর্থিত।
এএনএসআই এর একটিতে থাকা কোড ব্যবহার করতে, আমাদের একটি আক্ষরিক ESC অক্ষর প্রয়োজন । এটি অষ্টাল 033 বা দশমিক 27 Bash বাশ-এ আপনি ব্যবহার করবেন "\033"
বা "\e"
; পাওয়ারশেলে কোনও সরাসরি সমতুল্য ক্রম নেই তবে আপনি পরিবর্তে একটি অভিব্যক্তি এম্বেড করতে পারেন:"$([char]27)"
এর অর্থ আপনি উদাহরণস্বরূপ, কোডটির সাথে সায়ানটিতে পটভূমির রঙ সেট করতে নীচের অবকাশ সিকোয়েন্সটি ব্যবহার করতে পারেন 46
:
"$([char]27)[46m"
যা এর মতো ব্যবহার করা যেতে পারে:
echo "$([char]27)[46mColoured text"
জিনিসগুলিকে আরও পঠনযোগ্য করে তুলতে, আসুন একটি পরিবর্তনশীল সংজ্ঞায়িত করি:
$ESC = [char]27
সুতরাং আমরা ব্যবহার করতে পারি:
"$ESC[46m"
$ESC
আক্ষরিক ESC অক্ষরটি কোথায় , [
প্যারাম তালিকার শুরু এবং m
শেষের সংজ্ঞা দেয়।
এটি একটি কমান্ড ব্যবহার করে:
echo "$ESC[46mColoured text"
এবং আসল রঙ সেটিংস পুনরুদ্ধার করতে, আমরা 0
পরিবর্তে কোডটি ব্যবহার করি:
echo "$ESC[46mColoured text$ESC[0mUncoloured text"
আপনি যদি বেসিক 16-রঙের প্যালেটটিতে সন্তুষ্ট না হন তবে আপনি ফর্মের সাথে পুরো 24-বিট রঙগুলি ব্যবহার করতে পারেন:
"$ESC[48;2;<r>;<g>;<b>m"
<r>
0-255 থেকে লাল রঙের দশমিক মান যেখানে <g>
সবুজ এবং <b>
নীল রঙের জন্য, যেমন eg"$ESC[48;2;255;0;123m"
পড়ুন দয়া করে ডকুমেন্টেশন দেখুন।
বস্তুত, এই ছাড়া আপনি ব্যবহার করতে হবে সব সরাসরি আপনাকে ব্যাশ মধ্যে কী করবেন সমতূল্য, $ESC
পরিবর্তে (পরে এটিকে সংজ্ঞায়িত করেছি) \e
বা \033
।
এগুলি একসাথে রেখে, আমরা ব্যাকগ্রাউন্ডের রঙ পরিবর্তন করতে একটি সংশোধিত প্রম্পটে এএনএসআই রঙের পালানোর কোডগুলি ব্যবহার করতে পারি:
function prompt
{
$ESC = [char]27
"$ESC[46mPS $($executionContext.SessionState.Path.CurrentLocation)$('>' * ($nestedPromptLevel + 1)) $ESC[0m"
}
আপনি যদি এটি অধিবেশন জুড়েই থাকতে চান তবে এটি আপনার প্রোফাইলে যুক্ত করুন (লাইক করুন .bashrc
)। আপনি নিজের প্রোফাইলে যাওয়ার পথটি দেখতে পাচ্ছেন $profile
।
1
/ উজ্জ্বল বিকল্প সক্ষম করতে কোড যুক্ত করতে পারেন , যেমন $ESC[46;1m
। যাইহোক, দেখে মনে হচ্ছে কনহোস্ট বর্তমানে একটি আসল সাহসী টাইপফেস সমর্থন করে না - এটি কেবল একটি উজ্জ্বল অগ্রভাগের রঙ ব্যবহার করে। আপনি 4
যদি পছন্দ করেন তবে আপনি একটি আন্ডারলাইন যুক্ত করতে পারেন।
1;37m
একই 97m
, উভয় অর্থ "উজ্জ্বল সাদা")