Bash:
मानक त्रुटि के लिए लिखना
कैसे करें:
Bash में, आप >&2 का उपयोग करते हैं आउटपुट को stderr में रीडायरेक्ट करने के लिए। यहाँ एक बुनियादी उदाहरण है:
echo "यह एक सामान्य संदेश है"
echo "यह एक गलती का संदेश है" >&2यह स्क्रिप्ट चलाने पर कंसोल पर दोनों संदेश दर्शाई देंगे, लेकिन यदि आप उन्हें रीडायरेक्ट करें, तो आप stdout को stderr से अलग कर सकते हैं। उदाहरण के लिए:
bash script.sh > output.txt 2> error.txtoutput.txt में "यह एक सामान्य संदेश है", जबकि error.txt में "यह एक गलती का संदेश है" होगा।
एक व्यवहारिक उपयोग के मामले में, फाइलों को प्रोसेस करने वाले स्क्रिप्ट को विचार करें जो एक फाइल मौजूद नहीं होने पर एक गलती की सूचना देता है:
filename="example.txt"
if [ ! -f "$filename" ]; then
echo "$filename मौजूद नहीं है!" >&2
exit 1
else
echo "$filename की प्रोसेसिंग हो रही है"
fiकंसोल में सीधे सैंपल आउटपुट जब example.txt मौजूद नहीं होता:
example.txt मौजूद नहीं है!Bash में stderr को संभालने के लिए कोई सीधे थर्ड-पार्टी लाइब्रेरीज नहीं हैं, क्योंकि रीडायरेक्शन स्वाभाविक रूप से समर्थित है और सामान्य रूप से पर्याप्त है। हालांकि, जटिल एप्लिकेशनों के लिए, लॉगिंग फ्रेमवर्क या बाहरी लॉगिंग उपकरण जैसे कि syslog या log4bash को दोनों stdout और stderr को अधिक प्रभावी ढंग से प्रबंधित करने के लिए शामिल किया जा सकता है।