আমি স্ট্যাডারড ব্যবহার করি এবং এটি একটি ভাল সমাধান পেয়েছি। এর রিডমি নোট হিসাবে :
স্টাড্রেড হুকস রাইটিং () এবং স্ট্রিম ফাংশনগুলির একটি পরিবার (ফাইরাইট, এফপ্রিন্টফ, ত্রুটি ...) libc থেকে সমস্ত স্ট্যাডার আউটপুটকে টার্মিনালে যায় যাতে এটি স্টডআউট থেকে পৃথক করে তোলে। মূলত এটি টেক্সটকে মোড়ক করে যা বর্ণনাকারী "2" দিয়ে ফাইলগুলিতে যায় যথাযথ এএনএসআই এস্কেপ কোডগুলি পাঠ্যকে লাল করে তোলে।
এটি একটি ভাগ করা লাইব্রেরি হিসাবে প্রয়োগ করা হয়েছে এবং ডায়নামিক লিংকারগুলির প্রিললোড / সন্নিবেশ বৈশিষ্ট্যটির জন্য বিদ্যমান বাইনারিগুলির পুনরায় সংকলনের প্রয়োজন নেই।
এটি লিনাক্সে (LD_PRELOAD সহ), ফ্রিবিএসডি (এছাড়াও LD_PRELOAD) এবং ওএসএক্স (DYLD_INSERT_LIBRARIES সহ) সমর্থিত।
এটি সংকলন করা সহজবোধ্য, তবে আপনাকে এটির গিথুব সাইট থেকে প্রাপ্ত নির্দেশাবলী অনুসরণ করে উত্স থেকে এটি তৈরি করতে হবে :
sudo apt-get install build-essential git cmake
তারপর
git clone git://github.com/sickill/stderred.git
cd stderred
তারপর
make
এর সর্বাধিক গুরুত্বপূর্ণ অংশটি আপনার উপযুক্ত লাইনে যুক্ত করা .bashrc
; আপনার অবশ্যই libstderred.so
বিল্ড ডিরেক্টরিতে ফাইলটি লিঙ্ক করতে হবে ; আপনাকে অবশ্যই নিখুঁত পথটি ব্যবহার করতে হবে যেখানে বিল্ড ডিরেক্টরিটি (/ home / mike / src / stderred / build) is আমি আমার সাথে নিম্নলিখিতগুলি যুক্ত করি .bashrc
:
export LD_PRELOAD="/home/mike/src/stderred/build/libstderred.so${LD_PRELOAD:+:$LD_PRELOAD}"
স্পষ্টতই, আপনি যখন এটি আর ব্যবহার করতে চান না তখন আপনার উপরের লাইনটি সরিয়ে .bashrc
টার্মিনালটি পুনরায় চালু করুন।
অস্তিত্বহীন ফাইলগুলিতে পরীক্ষিত ফলাফলগুলি (এটি sudo
ব্যবহার করার পরে স্পষ্টতই কাজ করবে না , কারণ .bashrc
ভিন্ন পরিবেশ নির্ধারণ করা হলে ব্যবহারকারীর পড়া হবে না):
(যাই হোক এটা না আমার ডিউক চালু @ Nukem প্রম্পট লাল হিসাবে যে লাল ছিল ইতিমধ্যে )