2017-06-22 4 views
1

ich bin neu bash und möchte meinen Python-Skript Exit-Code fangen meinen script.py wie folgt aussieht:erhalten Exit-Code von Python-Skript in Bash-Skript

#! /usr/bin/python 
def foofoo(): 
    ret = #do logic 
    if ret != 0: 
     print repr(ret) + 'number of errors' 
     sys.ext(1) 
    else: 
     print 'NO ERRORS!!!!' 
     sys.exit(0) 
def main(argv): 
    #do main stuff 
    foofoo() 
if __main__ == "__main__": 
    main(sys.argv[1:] 

mein Bash-Skript:

#!/bin/bash 
python script.py -a a1 -b a2 -c a3 
if [ $?!=0 ]; 
then 
    echo "exit 1" 
fi 
echo "EXIT 0" 

Mein Problem ist, dass ich immer exit 1 in meinem Bash-Skript, gedruckt bekomme, wie kann ich meinen Python-Exit-Code in meinem Bash-Skript bekommen?

Antwort

5

die Räume sind wichtig, weil es Argumente Begrenzer

if [ $? != 0 ]; 
then 
    echo "exit 1" 
fi 
echo "EXIT 0" 

oder numerischen Test -ne, man [ für [ Befehl oder man bash für gebautet mehr Details

# store in variable otherwise will be overwritten after next command 
exit_status=$? 
if [ "${exit_status}" -ne 0 ]; 
then 
    echo "exit ${exit_status}" 
fi 
echo "EXIT 0" 
+0

, die müssen warten, sehen wussten, dass Sie markieren Antwort als akzeptiert (ich warte 8 min) :) – LordTitiKaka

Verwandte Themen