Ik heb een script, dat er ongeveer zo uit ziet:
Door in het python script nu sys.exit(1) aan te roepen wanneer er iets spaak loopt, kun je dat in je shell script dus terugvinden, aangezien "$?" deze waarde checkt. Of toch niet...? Ik heb een probleem waarbij hetzelfde script op een Sun bar teruggeeft, maar op een HP foo.
Is het gegarandeerd dat ik de exit value van $PYTHON foo terugvind in $?, of kan dat nog ergens misgaan? Op het internet vind ik eigenlijk nergens voorbeelden waar mensen de moeite nemen om die waarde ergens op te slaan en in een vergeeld UNIX scripting boek dat ik er op nageslagen heb ook niet.
Wel staat er een suggestie in dat boek om de waarde op te slaan in een file en die te sourcen, maar dat is in verband met remote shells. Dus wat ik eigenlijk weten wil: is het denkbaar dat de exit value niet in $? staat? Ik ben hier gewoon nieuwsgierig naar.
Bash:
1
2
3
4
5
6
7
8
9
10
| #!/bin/sh $PYTHON baa if [ $? -eq 0 ] then echo "foo" else echo "bar" fi |
Door in het python script nu sys.exit(1) aan te roepen wanneer er iets spaak loopt, kun je dat in je shell script dus terugvinden, aangezien "$?" deze waarde checkt. Of toch niet...? Ik heb een probleem waarbij hetzelfde script op een Sun bar teruggeeft, maar op een HP foo.
Is het gegarandeerd dat ik de exit value van $PYTHON foo terugvind in $?, of kan dat nog ergens misgaan? Op het internet vind ik eigenlijk nergens voorbeelden waar mensen de moeite nemen om die waarde ergens op te slaan en in een vergeeld UNIX scripting boek dat ik er op nageslagen heb ook niet.
Wel staat er een suggestie in dat boek om de waarde op te slaan in een file en die te sourcen, maar dat is in verband met remote shells. Dus wat ik eigenlijk weten wil: is het denkbaar dat de exit value niet in $? staat? Ik ben hier gewoon nieuwsgierig naar.
[ Voor 3% gewijzigd door sphere op 16-05-2007 20:28 ]