Bash sqlplus oder Bash Fehler?
Hallo,
da ich sehr eingeschränkt in Bash bin, brauche ich hier etwas Hilfe.
Was stimmt mit dem EOF nicht?
Danke für jeden Tipp!
da ich sehr eingeschränkt in Bash bin, brauche ich hier etwas Hilfe.
Was stimmt mit dem EOF nicht?
sqlcheck() {
sqlplus –s /nolog << EOF ######Das ist Zeile 58 und angeblich der Fehler
whenever sqlerror exit 3
connect $USER/$PASSWRD
insert into table sampletable values \(‘abc’,123\);
delete from table sampletable;
commit;
exit 0;
EOF
return $?
}
#Check if sqlcheck is successful or retry $SQLRETRY amount of times. exit with error 3 if not successful
while [ i -lt $SQLRETRY ]
do
i=$[$i+1]
sqlcheck()
sleep 60
done
exit 3
EOF #Zeile 84
#Zeile 85 gibt es nicht
"next.sh" 84 lines, 2671 characters written
root@pc$ sudo /bin/bash ./next.sh
./next.sh: line 84: warning: here-document at line 58 delimited by end-of-file (wanted `EOF')
./next.sh: line 85: syntax error: unexpected end of file
Danke für jeden Tipp!
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 333031
Url: https://administrator.de/forum/bash-sqlplus-oder-bash-fehler-333031.html
Ausgedruckt am: 03.04.2025 um 04:04 Uhr
7 Kommentare
Neuester Kommentar

Was stimmt mit dem EOF nicht?
Es steht nicht am Zeilenanfang. Es muss ganz am Anfang der Zeile stehen und es darf auch kein Blank dahinter folgen.Bei dir sind da ja jede Menge Spaces/Tabs davor.
Gruß

Wieso hast du in der letzten Zeile ein EOF stehen (Zeile 34) ???
Und bei der Variante wird alles zwischen <<EOF ....EOF expandiert, das sollte dir bewusst sein! Willst du das nicht musst du den Delimiter in "Anführungszeichen" setzen.
Und bei der Variante wird alles zwischen <<EOF ....EOF expandiert, das sollte dir bewusst sein! Willst du das nicht musst du den Delimiter in "Anführungszeichen" setzen.

https://ss64.com/bash/syntax-here.html
To disable parameter substitution put quotes around the limit string: <<"End-of-message"

Dann wird dein SQLplus command das so nicht fressen, speichere es vorher in einer Variablen und übergebe es ihm. Beim sqlplus command kann ich dir leider nicht weiterhelfen kenne ich nicht.
ZEILE 10 echo "bin hier"
das ist ja auch Quatsch das dort hinzuschreiben...