Returnwert in Shell-Script abfragen

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von gruber99, 08.02.2006.

  1. #1 gruber99, 08.02.2006
    gruber99

    gruber99 Mitglied

    Dabei seit:
    23.01.2006
    Beiträge:
    33
    Zustimmungen:
    0
    hallo an alle shell-gurus,

    hab ein kleines problem und zwar folgender tatbestand:

    -> ich habe ein Perl-Script welches ich per Return-Code/Exit-Code 77 beende
    -> nach Beendigung des Perl-Script wird auomatisch ein Fehler-Shell-Script aufgerufen (dies geschiet vom system)
    -> wie kann ich in diesem Fehler-Shell-Script den Returnwert aus dem Perl-Programm abfragen ?

    mit "$?" funktionierts nicht der ist immer 0 - aus dem Perl-Script wird aber definitiv der Return-Code 77 geliefert.

    danke
    hannes
     
  2. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #2 ninguno, 08.02.2006
    ninguno

    ninguno Tripel-As

    Dabei seit:
    13.05.2005
    Beiträge:
    162
    Zustimmungen:
    0
    also wenn du mit exit den exitcode setzt, dann ist der nachher auch in $? verfügbar. allerdings wird er natürlich vom nächsten shell command wieder neu gesetzt.
     
  4. hehejo

    hehejo blöder Purist

    Dabei seit:
    12.10.2003
    Beiträge:
    1.280
    Zustimmungen:
    0
    Ort:
    Stein (Mittelfranken)
    Alternativ könntest du deinen Rückgabewert auch in eine Umgebungsvariable abspeichern.
     
  5. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Du könntest den Teil des Perlskriptes posten, in dem der Rückgabewert behandelt wird. Vielleicht liegt da ein Fehler.

    Gruss, Phorus
     
  6. #5 Wolfgang, 08.02.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Du kannst in deinem perl-Script auch nach <STDOUT> oder <STDERR> schreiben.

    Gruß Wolfgang
     
  7. #6 gruber99, 08.02.2006
    gruber99

    gruber99 Mitglied

    Dabei seit:
    23.01.2006
    Beiträge:
    33
    Zustimmungen:
    0
    also mein Perl-Script sieht so aus:

    ...
    $retval=77;
    ...
    exit($retval);

    --> eine Umgebungsvariable welche ich im Perl-Script setze gilt ja nur für den Mutter-Prozess, also in meinem Fall innerhalb des Perl-Scripts ?
     
  8. #7 ninguno, 08.02.2006
    ninguno

    ninguno Tripel-As

    Dabei seit:
    13.05.2005
    Beiträge:
    162
    Zustimmungen:
    0
    kannst du mal den teil vom shell script posten, wo das perl script aufgerufen wird und wo der returncode dann abgefragt wird
     
  9. Anzeige

    Vielleicht findest du HIER Antworten.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  10. Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Hmm sieht ok aus. Hehejo meinte es so:

    Code:
    perlskript.pl
    rw=$?
    ...
    echo $rw
    
    also ausserhalb des Perlskriptes.

    Gruss, Phorus
     
  11. #9 Wolfgang, 09.02.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Das ist im Falle des Exit-Code (Returnvalue) nicht richtig.
    Der wird an die aufrufende Shell zurückgegeben und steht wie schon gesagt in $? zur Verfügung.
    Die musst du aber unmittelbahr nach dem Ende des Scriptes abrufen und speichern oder abfragen, da diese Variable ja von jedem weiteren Aufruf verwendet wird.
    Code:
    #!/bin/sh
    /usr/bin/perl perlscript.pl
    echo "Returnwert ist $?"
    echo "Returnwert ist nun $?"
    
    Liefert nun:
    wolle@Nietzsche$ Returnwert ist 77
    wolle@Nietzsche$ Returnwert ist nun 0

    Beim zweiten mal, ist der Wert nämlich schon vom Returnwert des ersten echo Befehls überschrieben. Hier also 0.

    Das nur mal zum Verständnis.
    Gruß Wolfgang
     
Thema: Returnwert in Shell-Script abfragen
Besucher kamen mit folgenden Suchen
  1. shell script returncode abfragen

    ,
  2. werte aus skript per skript abfragen

    ,
  3. Rückgabewerte der Shell

    ,
  4. linux returnwert abfangen,
  5. returncode abfrage solaris
Die Seite wird geladen...

Returnwert in Shell-Script abfragen - Ähnliche Themen

  1. shell-script mit plink starten

    shell-script mit plink starten: Hallo, auf meinem kleinen QNAP-Backupserver möchte ich von meinem Windows 7 PC mittels Windows-Batch ein kleines shell script starten. So sieht...
  2. Hilfe bei Shell-Scripting

    Hilfe bei Shell-Scripting: Moinsen! Ich soll für ein Labor im Studium folgende Skripte schreiben und bräuchte da etwas Unterstützung! 1. frename.sh <string> Hängt...
  3. Welches shell-script ist ausführbar?

    Welches shell-script ist ausführbar?: Hallo Community, Dies ist mehr eine Verständnisfrage, weil ich ich nicht ganz Durchblicke! Ich habe Google Earth via einem *.deb Paket...
  4. Shell-Script zum auslesen von Dateien aus versch. Verzeichnissen

    Shell-Script zum auslesen von Dateien aus versch. Verzeichnissen: Hallo Leute, ich habe ein Problem wo ich mit meinem Wissensstand einfach nicht weiterkomme: Ich habe etwa 3000 verschiedene Verzeichnisse in...
  5. Shell-Script > neustes Aenderungsdatum von mehreren Dateien auslesen

    Shell-Script > neustes Aenderungsdatum von mehreren Dateien auslesen: Hallo zusammen, Dies ist meiner erster Post, mit Boardsuche wurde ich leider nicht fündig, aber ich hoffe, jemand weiss Rat :)! Folgende...