2013-01-10 24 views
5

में पायथन द्वारा लौटाए गए निकास कोड को संभालना मैं एक शैल स्क्रिप्ट के भीतर से एक पाइथन स्क्रिप्ट को बुला रहा हूं। पाइथन लिपि विफलताओं के मामले में त्रुटि कोड देता है।शैल स्क्रिप्ट

मैं इन त्रुटि कोड को खोल स्क्रिप्ट में कैसे संभाल सकता हूं और आवश्यक होने पर इसे बाहर निकाल सकता हूं?

उत्तर

7

अंतिम आदेश का निकास कोड $? में निहित है।

छद्म कोड के नीचे

उपयोग:

python myPythonScript.py 
ret=$? 
if [ $ret -ne 0 ]; then 
    #Handle failure 
    #exit if required 
fi 
+1

ऐसा मत करें। बस अगर python myPythonScript.py का उपयोग करें; फिर ... fi' या 'python myPythonScript.py || ... ' –

+4

हम्म ... मेरे दृष्टिकोण के साथ, आप अलग-अलग निकास कोड मानों के साथ विभिन्न त्रुटि हैंडलर चुन सकते हैं। जैसे आप कुछ मामूली त्रुटियों को अनदेखा करना चाहते हैं। हालांकि आपका दृष्टिकोण उनकी आवश्यकता के लिए तकनीकी रूप से सही है। – anishsane

+0

यह वही है जो मुझे चाहिए था। धन्यवाद, ऐशिन। – SpikETidE

2

तुम्हारा मतलब the $? variable?

$ python -c 'import foobar' > /dev/null 
Traceback (most recent call last): 
    File "<string>", line 1, in <module> 
ImportError: No module named foobar 
$ echo $? 
1 
$ python -c 'import this' > /dev/null 
$ echo $? 
0