2013-01-10 3 views

Odpowiedz

7

Kod zakończenia ostatniego polecenia jest zawarty w $?.

skorzystać z poniższego kodu pseudo:

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

Nie rób tego. Po prostu użyj 'if python myPythonScript.py; następnie ... fi' lub 'python myPythonScript.py || ... ' –

+4

Hmm ... z moim podejściem, możesz wybrać różne procedury obsługi błędów z różnymi wartościami kodów wyjścia. na przykład możesz zignorować niektóre banalne kody błędów. Twoje podejście jest jednak technicznie poprawne w stosunku do jego wymagań. – anishsane

+0

To jest dokładnie to, czego potrzebowałem. Dzięki, Anishane. – SpikETidE

2

To znaczy, 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