আমার মধ্যে .bashrc
, আমি বিভিন্ন বিট রঙিন করতে এএনএসআই টার্মিনাল রঙ কোড ব্যবহার করি use দেখে মনে হচ্ছে:
PS1='\u@\h:\w\[\033[33m\]$(virtual_env)\[\033[32m\]$(git_branch)\[\033[0m\]$ '
যেখানে virtual_env
এবং git_branch
যে আউটপুট কাপড় stdout- এ তে ব্যাশ ফাংশন আছে।
এখন, পড়া এবং সংশোধন করা আরও সহজ করার জন্য, আমি রং কোডগুলি ভেরিয়েবলগুলিতে সঞ্চয় করতে এবং এগুলিতে সরাসরি এম্বেড করার পরিবর্তে সেগুলি উল্লেখ করতে চাই PS1
। সুতরাং আমি এই মত ভেরিয়েবল একটি গুচ্ছ আছে:
GREEN="\[\033[32m\]"
YELLOW="\[\033[33m\]"
RESET="\[\033[0m\]"
আমি কিছু লিখতে সক্ষম হতে চাই:
PS1='\u@\h:\w${YELLOW}$(virtual_env)${GREEN}$(git_branch)${RESET}$ '
তবে এটি কার্যকর হয় না - বর্ণ কোডগুলি প্রম্পটে প্রদর্শিত হয়, যেমন তারা পালিয়ে যায়। আমি এর পরিবর্তে ডাবল উদ্ধৃতি ব্যবহার করি তবে রংগুলি সঠিকভাবে কাজ করে PS1
, তবে তখনই আমি প্রম্পটটি পরিবর্তিত হয় source ~/.bashrc
।
আমি অন্য কিছু আমি দেখেছি মানুষ না চেষ্টা করেছি - ব্যবহার printf
, রং জন্য একক উদ্ধৃতি ব্যবহার করে, নির্বাণ \[
এবং \]
এ PS1
রঙ পরিবর্তনশীল পরিবর্তে, কিন্তু কিছুই কাজ মনে হয়।
আমি কীভাবে রঙের কোডগুলির জন্য ভেরিয়েবল ব্যবহার করতে পারি?
.bashrc
?