स्क्रिप्ट में, त्रुटियों को आमतौर पर 2 डिस्क्रिप्टर के साथ फाइल करने के लिए भेजा जाता है &2, अर्थात:
echo "error" >&2
/dev/stderrइसके बजाय कभी-कभी उपयोग किया जाता है:
echo "error" > /dev/stderr
देखते हुए /dev/stderr, मैं देखता हूं कि यह केवल एक सिम्लिंक है /proc/self/fd/2, जो बदले में /dev/pts/5(मेरे वर्तमान टर्मिनल पर) एक सिमलिंक है ।
थोड़ा जटिल लगता है। क्या इसके पीछे कुछ तर्क है?
उपयोग कर रहा है /dev/stderrऔर &2समकक्ष है?
क्या उनमें से किसी को दूसरे पर पसंद किया जाता है?
>2, या >&2?
echo "error" >2नाम2और सामग्री के साथ एक फ़ाइल बनाता हैerror।