PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : returncode in variable schreiben



svern
14.11.02, 20:16
nabend,

ich will nen returncode eines scripte in eine variable schreiben, und anschließend soll diese variable in einer if-bedinung abgefragt werden.

Ich kriege das nicht hin, bitte um hilfe.


Und da wir schon einmal dabei sind,
was ist in der IF-Verzweigung der unterschied zwischen = und -eq oder != und -ne


thx

msi
14.11.02, 20:20
www.mrunix.de

melody lee
14.11.02, 20:22
ich will nen returncode eines scripte in eine variable schreiben
Brauchst du nicht, den findest Du nach Beendigung des Skripts in "$?"

was ist in der IF-Verzweigung der unterschied zwischen = und -eq oder != und -ne
Das sind keine Bedingungen einer if-Anweisungen, sonder die von "test".
"=" und "!=" für Strings
"eq" und "ne" für Zahlen

Mehr davon in "man test"

svern
14.11.02, 20:24
und was wenn das script schon vor etlicher zeit startete,
und der returncode vom letzten befehl in $? gespeichert ist?

real-challo
14.11.02, 20:27
speichere den returncode doch gleich nach dem unterprogramm :

#!/bin/bash
...
...
...
programm2
returncode=$?
...
...
...
[ $returncode == 0 ] && ... || ...
...
...


Programm2 muss naturlich nicht einfach mit exit rausgehen sondern mit "exit <zahl>"

svern
14.11.02, 20:34
ich muss trotzdem noch einmal fragen,
denn alles klappt bei mir nicht

Wie schreibe ich in EINER zeile den Returncode in eine variable, wobei das script in selbiger zeile ausgeführt wird (und returncode ist natürlich der vom script)

real-challo
14.11.02, 20:38
hee ?:confused:

check ich nicht ganz

Du willst ??? - richtig ? (sonst schrieb mal etwas genauer vielleicht mit beispiel) :

...
...
...
programm2 ; returncode=$?
...
...
...


Ob Du das so schreibst wie oben oder wi im letzten Beitrag ist egal

svern
14.11.02, 21:11
jo, so ungefähr, nur, dass
er das auch wieder nicht macht....
jedenfalls nicht fehlerfrei


ich führe das script aus, es wird ein fehler angezeigt...

anschließend soll er mir die variable anzeigen ....
jedoch es kommt 0 ..... da muss aber irgend eine andere zahl stehen, weil fehler...

ich check das nicht mehr



will doch nur, dass die variable mit dem returncode gefüllt wird, aber nicht erst nach dem aufruf extra, sondern mit dem aufruf....thats all