मैं bash खोल में समानांतर में 3 आदेशों को चलाने के लिए कोशिश कर रहा हूँ:बैश और (एम्परसेंड) ऑपरेटर
$ (first command) & (second command) & (third command) & wait
इस के साथ समस्या यह है कि अगर first command
में विफल रहता है, उदाहरण के लिए, बाहर निकलें कोड 0
है (मैं अनुमान है क्योंकि wait
सफल होता है)।
वांछित व्यवहार यह है कि यदि आदेशों में से कोई एक विफल रहता है, तो निकास कोड शून्य-शून्य होगा (और आदर्श रूप से, अन्य चल रहे आदेश रोक दिए जाएंगे)।
मैं इसे कैसे प्राप्त कर सकता हूं?
कृपया ध्यान दें कि मैं समानांतर में आदेशों को चलाने के लिए चाहता हूं!
मुझे लगता है कि रिटर्न कोड के मामले में काम करेगा, लेकिन समानांतर में कमांड निष्पादित नहीं करेगा। – jcollado
सहमत हुए और मेरे जवाब में भी एक नोट बनाया। हालांकि अगर कम समानांतर में चल रहे हैं तो आप बाहर निकलने के कोड की जांच नहीं कर सकते हैं क्योंकि पिछला कमांड दूसरे स्थान पर नहीं निकलता है। – anubhava
यहां मुख्य बाधा समानांतर ** में कमांड ** चलाने के लिए है। मुझे इस एक-लाइनर को अधिक जटिल बैश स्क्रिप्ट के साथ प्रतिस्थापित करने की कोई बात नहीं है जब तक कि कमांड समानांतर में चलें और विफलताओं के मामले में निकास कोड शून्य-शून्य होगा। –