catजैसा कि कुछ यहाँ उल्लेख किया गया है का उपयोग न करें। catएक है कार्यक्रम
है, जबकि echoऔर printfपार्टी कर रहे हैं (शेल) builtins। एक कार्यक्रम या अन्य स्क्रिप्ट लॉन्च करना (ऊपर भी उल्लेख किया गया है) का मतलब है कि इसकी लागत के साथ एक नई प्रक्रिया बनाएं। बिल्डिंस का उपयोग करना, लेखन कार्य काफी सस्ते हैं, क्योंकि एक प्रक्रिया (-नियोजन) को बनाने (निष्पादित) करने की कोई आवश्यकता नहीं है।
सलामी बल्लेबाज पूछता है कि "स्टैडर्र के लिए आउटपुट ( पाइप ) के लिए कोई मानक उपकरण है ", इसका जवाब है: नहीं ... क्यों? ... rediredcting पाइप यूनिक्स (Linux ...) और bash (sh) जैसे सिस्टम में एक एलेमेंटरी कॉन्सेप्ट है जो इन कॉन्सेप्ट्स को बनाता है।
मैं सलामी बल्लेबाज से सहमत हूं कि इस तरह के नोटिस के साथ पुनर्निर्देशित करना: &2>1आधुनिक प्रोग्रामर के लिए बहुत सुखद नहीं है, लेकिन यह बैश है। बैश को विशाल और मजबूत कार्यक्रमों को लिखने का इरादा नहीं था, यह कम कीपर्स के साथ काम करने में मदद करने के लिए इरादा है; ;-)
और कम से कम, आप पंक्ति में कहीं भी पुनर्निर्देशन रख सकते हैं:
$ echo This message >&2 goes to stderr
This message goes to stderr