मारपीट में।
मुझे यह निर्धारित करने में कुछ कठिनाई हो रही है कि मुझे क्या उपयोग करना चाहिए?
मेरी सभी लिपियाँ ">> / dev / stderr" का उपयोग करती हैं
बैश प्रॉम्प्ट पर, अगर मैं कोशिश करूँ:
echo test >>/dev/stderrकाम
echo test >> /dev/stderrकरता है
echo test >/dev/stderrकाम
echo test > /dev/stderrकरता है काम करता है
echo test >>&2विफल रहता है!
echo test >> &2विफल रहता है!
echo test >&2कार्य करता है
echo test > &2!
मैं अपनी सभी लिपियों को बदलने के लिए तैयार हूं >&2।
ऐसा लगता है कि ssh (बाद su SomeUser) पर भी बड़ा असर पड़ेगा जहां >>/dev/stderrकाम नहीं किया जाएगा (अनुमति से वंचित), केवल >&2काम करेगा।
suसमस्या होती है, इस सवाल को अपडेट किया गया
su -c 'some command', उस आदेश के द्वारा चलाया जाता है /bin/sh, नहीं bash, तो bash- विशिष्ट व्यवहार (जैसे कि /dev/stderrअनुपलब्ध उद्देश्यों के लिए अनुकरण जब उपलब्ध नहीं है) मौजूद होने की गारंटी नहीं है।