উত্তর:
STDOUT এ কোন প্রোগ্রাম কী আউটপুট দেয় এবং STDERR এ কী নির্ধারণ করা যায় তা নির্ধারণ করার জন্য আমি কেবল তিনটি উপায় জানি
ডকুমেন্টেশন পড়ুন। অথবা
পুনঃনির্দেশ সঙ্গে পরীক্ষা iment
†উদাহরণ স্বরূপ:
program > program.stdout 2> program.stderr
তারপরে প্রোগ্রামটি STDOUT এ কী লিখেছে এবং এটি STDERR এ কী লিখেছে তা দেখতে দুটি আউটপুট ফাইলগুলি দেখুন।
পুনর্নির্দেশের পরিবর্তে আপনি tee
যদি পর্দার পাশাপাশি একটি ফাইলের কাছে চালিয়ে যাওয়ার আউটপুট প্রয়োজন তবে আপনি পাইপ করতে পারেন। Https://stackoverflow.com/q/692000/477035 দেখুন
আপনার মন্তব্য করা অনুরোধের ভিত্তিতে:
{ { command; } 2>&3 | sed 's/^/STDOUT: /'; } 3>&1 1>&2 | sed 's/^/STDERR: /'
stdout
এবং 2 = এর বাইরে stderr
) ব্যবহার করতে হবে এবং stdout
একটি sed
কমান্ডের stderr
মধ্য দিয়ে চলতে হবে while একটি ভিন্ন এক।
{ { { { echo "stdout" ; echo "stderr">&2; } 2>&3; } 3>&1 1>&2 | awk '{print "ERROR:",$0}' 1>&3; } 3>&2 2>&1; }
আপনি যদি এটি একবার বন্ধ করতে চান তবে তাদের মধ্যে একটি অন্য কোথাও পুনর্নির্দেশ করুন।
উদাহরণস্বরূপ, এর সাথে স্ট্যান্ডার্ডকে পুনর্নির্দেশ করা >
।
ls -al> ls-l.txt (এখানে যে কোনও আউটপুট স্টাডআউট থেকে নয়, যদি আপনি কিছু দেখেন তবে এটি অবশ্যই স্টারডার আউটপুট হতে হবে)
স্ট্যাডার পুনঃনির্দেশ ব্যবহারের জন্য 2>
program | grep .
প্রিন্ট করুন STDOUT লাল।