" লিনাক্স: সম্পূর্ণ রেফারেন্স 6th ষ্ঠ সংস্করণ " (পৃষ্ঠা 44) অনুসারে, পুনঃনির্দেশ চিহ্নগুলি ব্যবহার করে আপনি কেবল এসটিডিআরআর পাইপ করতে পারেন |&
।
এটি পরীক্ষা করার জন্য আমি একটি খুব সহজ স্ক্রিপ্ট লিখেছি:
#!/bin/bash
echo "Normal Text."
echo "Error Text." >&2
আমি এই স্ক্রিপ্টটি এভাবে চালিত করি:
./script.sh |& sed 's:^:\t:'
সম্ভবত, কেবল এসটিডিআরআরে মুদ্রিত লাইনগুলি ইন্টেন্ট করা হবে। তবে, এটি আসলে এর মতো কাজ করে না, যেমনটি আমি দেখছি:
Normal Text.
Error Text.
আমি এখানে কি ভুল করছি?
./script.sh > /tmp/stdout_goes_here |& grep 'grepping_script_stderr'
কাজ না করে, অর্থাত অভিপ্রেত হিসাবে: পুনর্নির্দেশscript.sh
এরstdout
(যা, ম্যানুয়াল স্নিপেট প্রথম ঘটা উচিত অনুযায়ী), তারপর অনুমতি দেয়grep
স্ক্রিপ্টের প্রক্রিয়াstderr
। পরিবর্তে,stderr
এবং tdout` উভয়ই শেষstdout_goes_here