shell function

schellness

Grünschnabel
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!
 
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
 
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
 

Neue Beiträge

Zurück