मैं तरीके दोनों रीडायरेक्ट करने के लिए हर तरह की कोशिश की है stdoutऔर stderrकरने के लिए /dev/nullकिसी भी सफलता नहीं मिली। मेरे पास लगभग पूरे जीवन चलने वाली बैश है जो मैंने इस मुद्दे के साथ कभी नहीं किया है, लेकिन बीएसडी में एक बार के लिए मैं इसके साथ फंस गया हूं /bin/sh।
मैंने क्या कोशिश की है:
if ls ./python* 2> /dev/null; then
echo found Python
fi
... जो काम करता है; यदि पायथन मौजूद नहीं है तो यह ls से त्रुटि संदेशों को म्यूट करेगा। हालाँकि, यदि python.tgzमौजूद है , तो आउटपुट वाली लाइन इस तरह दिखती है:
# ./test.sh
./python-2.7.3p1.tgz
मैंने कोशिश की:
if ls ./python* &> /dev/null; then
echo found Python
fi
तथा
if ls ./python* 2>1 > /dev/null; then
echo found Python
fi
तथा
if ls ./python* > /dev/null; then
echo found Python
fi
वास्तव में कुछ भी काम नहीं करता है। मैं केवल एक ही आउटपुट को पुनर्निर्देशित कर सकता हूं, दोनों एक ही समय में नहीं।
/bin/shने&>/dev/nullवाक्यविन्यास को लागू किया है, मोटे तौर पर ऐसा नहीं है या मेरे पास एक पुराना संस्करण है (जो मैं किसी भी तरह से प्रतिध्वनित नहीं कर सकता, OpenBSD 5.3 tho को चलाने के लिए पर्याप्त होना चाहिए)