स्क्रिप्ट में, त्रुटियों को आमतौर पर 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
।