নিম্নলিখিতগুলি কি সর্বদা ইঙ্গিত দেয় যে আমি পালানোর ক্রমগুলি ব্যবহার করতে এবং tputজিনিসগুলিকে রঙিন করতে পারি?
if [[ $TERM == *"color"* ]]; then
true
else
false
fi
নিম্নলিখিতগুলি কি সর্বদা ইঙ্গিত দেয় যে আমি পালানোর ক্রমগুলি ব্যবহার করতে এবং tputজিনিসগুলিকে রঙিন করতে পারি?
if [[ $TERM == *"color"* ]]; then
true
else
false
fi
উত্তর:
না: টার্মিনালের বর্ণনার নামটি অপ্রাসঙ্গিক। TERMএকটি টার্মিনাল বর্ণনার নাম। অনেকগুলি রয়েছে, এবং বেশিরভাগ টার্মিনাল যা রঙ সমর্থন করে তাদের নামগুলিতে "রঙ" থাকে না। উদাহরণস্বরূপ কোনও কারণ নেই কেন টার্মিনাল বর্ণনার নাম "নো-রঙ" করা যায়নি।
প্রোগ্রামগুলি যে টার্মিনাল বিবরণ ব্যবহার করে এটি এতে তালিকাবদ্ধ দক্ষতার দিকে নজর দেয়। অবশ্যই অনেকগুলি হার্ড-কোডেড প্রোগ্রাম রয়েছে যা একটি টার্মিনাল বর্ণনার নাম ধরে নেয়।
Ncurses FAQ অনুসারে আমার টার্মিনালটি রঙ চিনতে পারে না , টার্মিনাল বিবরণে বলা উচিত যে টার্মিনালটি কত রঙ সমর্থন করে, পাশাপাশি অগ্রভাগ এবং পটভূমির রঙ কীভাবে সেট করতে হয়।
আপনি tputরঙের সংখ্যা পেতে ব্যবহার করতে পারেন :
colors=$(tput colors)
if [ $colors -gt 1 ]
যেহেতু একটি অনুপস্থিত colorsক্ষমতা tputফিরে আসে -1।
TERMভুল (আপনার উদ্দেশ্যে) ভুল। আপনি কেবল একটি অনুমানকে হার্ডকোড করতে পারেন ...
tput colorsআমার টার্মিনাল বলতে8কিন্তু টার্মিনাল 256 রং সমর্থন করে।