unix shell, getting exit code with piped child -


मान लें कि मैं इसे एक यूनिक्स शेल में कर रहा हूँ

  $ some- script.sh | Grep mytext $ echo $?   

यह मुझे grep

के निकास कोड देगा लेकिन मैं कुछ-स्क्रिप्ट का निकास कोड कैसे प्राप्त करूं? Sh

संपादित करें

मान लें कि पाइप ऑपरेशन अपरिवर्तनीय है यानी, मैं इसे अलग नहीं कर सकता और दो आज्ञाओं को अलग से चलाया

कई समाधान हैं, यह निर्भर करता है आप वास्तव में क्या करना चाहते हैं।

आउटपुट को फाइल में भेजना सबसे सरल और समझदार तरीका होगा, फिर निकास कोड सहेजने के बाद इसके लिए grep:

  Tmpfile = $ (mktemp) ./some-script.sh & gt; $ Tmpfile retval = $? Grep mytext $ tmpfile rm tmpfile  

Comments