return-code eines unterprogramms, dass mittels kommandosubsitution aufgerufen wird

Dieses Thema im Forum "Shell-Skripte" wurde erstellt von minipig, 15.05.2008.

  1. #1 minipig, 15.05.2008
    Zuletzt bearbeitet: 15.05.2008
    minipig

    minipig Doppel-As

    Dabei seit:
    06.01.2006
    Beiträge:
    129
    Zustimmungen:
    0
    ich habe folgendes problem:
    in einem unterprogramm eines bashskripts will ich ein wert
    zu einem input berechnet. da ich keine globalen variablen
    verwenden will, wird er mittels echo und kommandosubsitution
    zurückgegeben.
    etwa so:

    Code:
    function sub {
        local result ret
        :
        echo $result
        return $ret
    }
    #main()
    output=$(sub input)
        :
    
    jetzt bin ich aber außerdem an dem return-code von 'sub'
    interessiert. '$?' bezieht sich ja leider auf
    die variablen-zuweisung im hauptprogramm, die ja für den
    rückgabewert notwendig ist.
    kann ich irgendwie auf den return-code von 'sub' zugreifen?
    danke im voraus minipig
     
  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 bitmuncher, 16.05.2008
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.171
    Zustimmungen:
    0
    $? bezieht sich normalerweise auf $ret in deinem Beispiel und wenn ich dich richtig verstanden habe, willst du doch genau das haben, oder nicht?
     
  4. #3 Aqualung, 16.05.2008
    Aqualung

    Aqualung Routinier

    Dabei seit:
    12.02.2008
    Beiträge:
    404
    Zustimmungen:
    0
    So:

    Code:
    output=$(sub input; echo $? > /tmp/retxxx )
    ret=`< /tmp/retxxx` && rm /tmp/retxxx
    
    Gruß Aqualung
     
  5. #4 minipig, 28.05.2008
    minipig

    minipig Doppel-As

    Dabei seit:
    06.01.2006
    Beiträge:
    129
    Zustimmungen:
    0
    ja, aber leider bezieht sich $? nach output=$(sub input) auf die variablenzuweisung.
    vielen dank.
     
  6. #5 Wolfgang, 28.05.2008
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo
    Erstens kannst du mit der Funktion eine Variable setzen, statt return zu nutzen.
    Zweitens kannst du die Funtion auch aufrufen und unmittelbar danach $? in einer Var speichern.

    Was du nutzen willst ist dir überlassen.

    Gruß Wolfgang
     
Thema:

return-code eines unterprogramms, dass mittels kommandosubsitution aufgerufen wird

Die Seite wird geladen...

return-code eines unterprogramms, dass mittels kommandosubsitution aufgerufen wird - Ähnliche Themen

  1. Datenbankconnect prüfen (Return-Code)

    Datenbankconnect prüfen (Return-Code): Hallo zusammen, ich möchte folgendes umsetzen: mysqlshow -uUser -pPasswort -hlocalhost if [$ERFOGREICH] then echo "Alles o.k."...
  2. Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen

    Alle Dateien eines Verzeichnisses mit einer anderen Datei vergleichen: Hallo, ich habe ein Verzeichnis, darin enthalten sind mehrere Dateien. Nun möchte ich alle Dateien (Parameter $1) gegen eine konstante Datei...
  3. Mit Live-CD Linux-Tauglichkeit eines Notebooks feststellen

    Mit Live-CD Linux-Tauglichkeit eines Notebooks feststellen: Hallo zusammen, eine Bekannte war mit dem Zwangsupdate auf Windows 10 bei Ihrem Notebook (Toshiba Satellite mit AMD-Prozessor und AMD Radeon...
  4. Artikel: Modifizieren eines Biblatex-Stils

    Artikel: Modifizieren eines Biblatex-Stils: Dieser Artikel richtet sich an Nutzer von LaTeX, die sich erstmals damit konfrontiert sehen, besondere Vorgaben bei der Bibliografie umsetzen zu...
  5. Linux-Varianten eines fortschrittlichen Trojaners für Windows entdeckt

    Linux-Varianten eines fortschrittlichen Trojaners für Windows entdeckt: Die Linux-Varianten basieren auf dem Trojaner Turla, den Forscher der Sicherheitsunternehmen Kaspersky Labs und Symantec im Jahresverlauf...