return-code eines unterprogramms, dass mittels kommandosubsitution aufgerufen wird

Diskutiere return-code eines unterprogramms, dass mittels kommandosubsitution aufgerufen wird im Shell-Skripte Forum im Bereich Programmieren unter Linux/Unix; ich habe folgendes problem: in einem unterprogramm eines bashskripts will ich ein wert zu einem input berechnet. da ich keine globalen variablen...

  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. #2 bitmuncher, 16.05.2008
    bitmuncher

    bitmuncher Der Stillgelegte

    Dabei seit:
    08.05.2007
    Beiträge:
    3.175
    Zustimmungen:
    3
    $? bezieht sich normalerweise auf $ret in deinem Beispiel und wenn ich dich richtig verstanden habe, willst du doch genau das haben, oder nicht?
     
  3. #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
     
  4. #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.
     
  5. #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...