tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
4
ZUGRIFFE
751
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    schellness schellness ist offline Rookie
    Registriert seit
    Jan 2004
    Ort
    Hamburg
    Beiträge
    6
    Hallo,

    ich weiß so langsam nicht mehr weiter. Warum meine Funktion nicht? Anbei packe ich mal kurz den Code rein...

    #!/bin/bashfunction dbeintrag()
    {
    sqlplus -s $USER/$PASSWD << EOF
    insert into OM_ORDERMAIL
    (ID, ID_COMPANY, TYPE, CUSTNO, ERRCODE, ORDER_FILE, EMAIL)
    values
    ($id, $idcompany, '$ordertype', $kundennummer, $errorcode, '$filename', '$email')
    return 1
    }


    id=SEQ_ORDERMAIL.NEXTVAL
    idcompany=90
    ordertype=refused
    kundennummer=12345
    filename=/peterlustig/home/21012004.21.xml
    errorcode=12200
    email=jaja@deinemudda.com
    dbeintrag $id, $idcompany, $ordertype, $kundennummer, $errorcode, $filename, $email

    Wenn ich jetzt vor und nach Deklarierung der Funktion ein echo "trallalala" setze, so kommt er bis zum ersten echo. Das echo nach der Deklaration wird leider nicht mehr angezeigt.

    Folgende Fehlermeldung bekomme ich andauernd...

    line 21: syntax error: unexpected end of file


    Hiiiiiiiiillllffeeeeeeeeee!
     

  2. #2
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    Da fehlt im Script
    ein EOF
    im Prinzip vor dem return
     

  3. #3
    schellness schellness ist offline Rookie
    Registriert seit
    Jan 2004
    Ort
    Hamburg
    Beiträge
    6
    Hallo,

    das ist mir inzwischen auch schon aufgefallen und der Code sieht inzwischen auch so aus...


    #!/bin/bash
    echo "Ich fange an und deklariere die Funktion"
    function dbeintrag ()
    {
    echo "Ich führe die Funktion aus"
    sqlplus -s $USER/$PASSWD << EOF
    insert into OM_ORDERMAIL
    (ID, ID_COMPANY, TYPE, CUSTNO, ERRCODE) values ($id, $idcompany, '$ordertype', $kundennummer, $errorcode)
    EOF
    echo "Ich beende die Funktionsausführung"
    }

    echo "Ich deklariere jetzt die Variablen"
    id=SEQ_ORDERMAIL.NEXTVAL
    idcompany=90
    ordertype=refused
    kundennummer=12345
    errorcode=12200
    echo "Jetzt rufe ich die Funktion auf"
    dbeintrag $id $idcompany $ordertype $kundennummer $errorcode $filename $email
    echo "Ich beende!"

    Nun läuft das Script auch durch und gibt mir die echos aus. Allerdings wird nichts in die Datenbank eingetragen, was allerdings ohne Funktion prächtig funktionierte.

    Alles Mist


    Gruß Schelle
     

  4. #4
    Registriert seit
    Jul 2002
    Ort
    Frankfurt (Hessen)
    Beiträge
    2.135
    Ich bin mir jetzt nicht sicher aber ich glaube innerhalb der Function musst
    du mit $1 usw arbeiten
    $1 = erster wert
    $2 = zweiter wert usw
    der übergeben wird
     

  5. #5
    schellness schellness ist offline Rookie
    Registriert seit
    Jan 2004
    Ort
    Hamburg
    Beiträge
    6
    aha... das werde ich nachher mal probieren. danke soweit. ich geb noch mal ne rückmeldung
     

Ähnliche Themen

  1. Fehler bei Shell-Function
    Von czemmel im Forum .NET Windows Forms
    Antworten: 6
    Letzter Beitrag: 31.07.08, 15:58
  2. Antworten: 4
    Letzter Beitrag: 14.11.07, 07:54
  3. Shell in Shell ohne Inhalt....
    Von Ronin-Jay im Forum Java
    Antworten: 0
    Letzter Beitrag: 17.07.07, 13:07
  4. Mit function prüfen ob function == true
    Von Sebigf im Forum Javascript & Ajax
    Antworten: 1
    Letzter Beitrag: 12.05.06, 14:25
  5. Antworten: 0
    Letzter Beitrag: 30.04.04, 10:11