ব্যাশের পিএস 1-এ ব্যবহারকারীর নামটিতে একটি নির্দিষ্ট বর্ণের রঙ পরিবর্তন করুন


9

আমি আমার ইউজারনেমে নির্দিষ্ট বর্ণের রঙ পরিবর্তন করতে চাই পিএস 1 দ্বারা ব্যাশে প্রদর্শিত হচ্ছে।

উদাহরণস্বরূপ: যদি আমার \uহয় তবে rahulআমি চিঠিটি hনীল রঙের এবং সাদাটি বিশ্রামে রাখতে চাই।

আমি জানি না যে \uব্যবহারকারীর নাম ও একটি সম্পূর্ণ 'সত্তা' পছন্দ ট্যাগ যোগ করে সম্পন্ন করা হয় একটি রং যোগ বোঝায়: [\033[38;5;15m\]

যদি এটি সম্ভব হয় তবে আমি কীভাবে এটি করতে হয় তা জানতে পারি।

উত্তর:


13

আপনি যদি \uপালাবার ব্যবহার না করতে আপত্তি না করেন তবে আপনি এটি এটি করতে পারেন:

PS1="\[\e[0;31m\]${USER:0:1}\[\e[m\]${USER:1} "

এটি কেবলমাত্র ব্যবহারকারীর নাম এবং একটি জায়গাতে প্রম্পট সেট করবে। ব্যবহারকারীর নামটির প্রথম অক্ষর লাল হবে। এটি $USERনির্দিষ্ট ব্যাপ্তির সাথে ভেরিয়েবলকে দু'বার প্রসারিত করে কাজ করে । প্রথমবারের ব্যাপ্তিটি কেবল 0 থেকে 1 অবধি দ্বিতীয় বার এটি 1 (দ্বিতীয় চরিত্র) থেকে শেষ পর্যন্ত হয়।

আপনার অনুরোধ করা অনুরোধটি পেতে এটি ব্যবহার করুন:

PS1="${USER:0:2}\[\e[0;34m\]${USER:2:1}\[\e[m\]${USER:3} "

1
প্রথম অক্ষর ব্যতীত পুরো ব্যবহারকারীর জন্য : অফসেট দিয়ে পুরো স্ট্রিংটি প্রিন্ট করতে আপনি দৈর্ঘ্য বাদ দিতে পারেন । চমৎকার সমাধান! ওপির অনুরোধ অনুসারে, আপনি কীভাবে তৃতীয় চরিত্রের রঙ পরিবর্তন করতে পারেন? ${USER:1}
মিষ্টান্ন

1
যে echo -eecho -e "${USER:0:2}\e[0;34m${USER:2:1}\e[m${USER:3} "
মিষ্টান্ন

2
এটির জন্য কি বিভিন্ন বিভিন্ন ব্যবহারকারীর নাম (উদাহরণস্বরূপ সবার জন্য ২ য় বর্ণটি হাইলাইট) দিয়ে কাজ করতে হবে? যদি শুধুমাত্র আপনার জন্য আছে, সহজ পদ্ধতির শুধু আপনার ব্যবহারকারী নামের অক্ষর হার্ডকোড হয়, যেমন raপরিবর্তে ${USER:0:2}ইত্যাদি
এগমন্ট

@ ইগমন্ট হার্ডকোডিং প্রায় কখনও সেরা উপায় নয়, তবে স্বীকারোক্তিটি প্রায়শই সহজ। এইভাবে আপনি কোডটি একটি বিশ্বব্যাপী কনফিগারেশন ফাইলে ফেলে দিতে বা অন্যের সাথে ভাগ করতে পারেন। এবং যখন আপনার অ্যাকাউন্টটির নাম পরিবর্তন করা হয় তখন এটি কেস পরিচালনা করে।
সেবাস্তিয়ান স্টার্ক

1
ব্যক্তিগতভাবে আমি তিনটি আলাদা আলাদা নামযুক্ত অ্যাকাউন্টের মধ্যে আমার নিজের শেল কনফিগারেশনটি ভাগ করি। তবে সম্ভবত আমাদের এখানে দর্শনে যাওয়া উচিত নয় :)
সেবাস্তিয়ান স্টার্ক
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.