2012-03-14 14 views
12

क्या बैश वैरिएबल में बैश स्क्रिप्ट रिटर्न वैल्यू के भीतर एक अजीब कमांड होना संभव है, यानी, अगर मेरी awk स्क्रिप्ट कुछ अंकगणितीय परिचालन करता है, तो क्या मैं जवाबों को उत्तर में संग्रहीत कर सकता हूं, इसलिए वे बैश स्क्रिप्ट में पहुंचा जा सकता है। यदि संभव हो, तो एकाधिक रिटर्न चर के बीच अंतर कैसे करें। धन्यवाद।एडब्ल्यूके: शेल स्क्रिप्ट पर वापसी मूल्य

उत्तर

15

नहीं। आप एक त्रुटि कोड वापस करने के लिए exit का उपयोग कर सकते हैं, लेकिन सामान्य रूप से आप एक उपप्रोसेसर से खोल पर्यावरण को संशोधित नहीं कर सकते हैं।

तुम भी, ज़ाहिर है, awk में वांछित सामग्री प्रिंट और read का उपयोग करके पार्टी में चर में डाल सकते हैं:

read a b c <<< $(echo "foo" | awk '{ print $1; print $1; print $1 }') 

अब $a, $b और $c सभी 'foo' कर रहे हैं। ध्यान दें कि आपको काम पर पढ़ने के लिए <<<$() वाक्यविन्यास का उपयोग करना होगा। यदि आप किसी भी तरह की पाइपलाइन का उपयोग करते हैं तो एक सबप्रोसेस भी बनाया जाता है और पर्यावरण read पाइपलाइन निष्पादित होने पर खोए गए चर बनाता है।

+0

कैसे? क्या आप कृपया एक उदाहरण दे सकते हैं। धन्यवाद –

+0

@ShuvoShams: मैंने एक जोड़ा, उम्मीद है कि यह मदद करता है। –

+0

@EduardoIvanec - एक मूल प्रक्रिया 'वातावरण (चर) को संशोधित करना इतना मुश्किल है कि इसे "असंभव के करीब" घोषित किया जा सकता है। –

संबंधित मुद्दे