যেহেতু grepএকটি জিএনইউ প্রোগ্রাম হ'ল অন্য বিকল্পের উত্স কোডটি দেখে নেওয়া যেতে পারে।
অভ্যন্তরীণভাবে গ্রেপ পরীক্ষার static int color_optionজন্য হয় 0, 1বা 2।
0 রঙিন আউটপুট কখনও ব্যবহার করবেন না
1 সর্বদা রং ব্যবহার করুন
2 টার্মিনালে প্রিন্ট করার সময় কেবল রঙগুলি ব্যবহার করুন
এখন যখন আপনি হাতে তুলে --color=autoআপনার CLI উপর একটি আর্গুমেন্ট হিসাবে grep, এটা অভ্যন্তরীণভাবে পরিবর্তনশীল সেট করে color_optionকরতে 2।
যদি color_optionসমান 2 grepতারপর আরও পরীক্ষার কিনা STDOUTএকটি টার্মিনাল অথবা ব্যবহারকারীর লিঙ্ক করা হয়েছে মাধ্যমে outpit রঙীন করা অক্ষম shell environment variables। যদি পূর্বেরটি সত্য হয় এবং বর্ণযুক্ত আউটপুটটির অনুমতি দেওয়া হয়, grepতবে কোন রঙগুলি ব্যবহার করা উচিত তা মূল্যায়নের সাথে অবশেষে অবশেষে আপনার CLIরঙটি প্রিন্ট করে ।
উত্স: (গ্রেপ 2.21)
grep.c line 306, 2374, 2440
colorize-posix.c line 36
man isatty
less -Rতবে আপনি ম্যাচ হাইলাইট করতে পারেন তবে--color=alwaysএটির কাজ করার জন্য আপনাকে গ্রেপ নির্দিষ্ট করতে হবে।