PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Shellscript - FTP Problem



mobas
24-04-2006, 13:20
Hi Leute!

Ich hoffe ich kann mal wieder auf Eure Hilfe zählen und mir bei der Lösung eines "kleinen" Problems helfen.

Und zwar habe ich ein Shellscript geschrieben welches per FTP Dateien kopieren soll.



...
for i in $LISTE
do
DOCID=`echo $i | cut -c1-14`
DA2EX=`cat $TMP_LISTE | grep $DOCID$DAT | awk '{print $9}'` echo "Exported: " $i " --> DAT: $DOCID$DAT"

ftp -inv << EOFTP
open $FTPSERVER
user $FTPUSER $FTPPWD
bin
rename $i $DOCID$IMPORTED
quit
EOFTP
done
...


Mein Problem:
Der FTP-Part funktioniert wunderbar in einem anderen Teil des Scriptes.
Dort ist es aber nicht in einer for-Schleife gebunden.
Sobald ich aber das Script starte sagt er mir:
> sh docu_copy
docu_copy[101]: 0403-057 Syntax error at line 121 : `<' is not matched.

Das ist in diesem Fall eine der beiden '<<' Pfeile in der FTP Anweisung.

Lege ich den FTP-Bereich ausserhalb der for-Schleife funktioniert es wunderbar. Nur erfüllt es dann den Zweck nicht für das es bestimmt ist. Es sollen quasi alle Dateien kopiert werden die in der $LISTE enthalten sind.

Hat jemand einen Rat für mich wie ich das Problem los werde?!

Vielen Dank schon mal vorab für Eure Hilfe!!!

Gruß,
Mobas

P.S.: In einer if-Anweisung funktioniert der FTP-Part auch nicht. Dieselbe Fehlermeldung erscheint!

ninguno
24-04-2006, 14:06
und dein script ist genau so formatiert wie der ausschnitt oben, also ohne einrückungen?
das abschliessende EOFTP muss ganz links stehen, ohne einrückung, sonst funktionierts nicht.

mobas
24-04-2006, 14:18
Hi ninguno,

yepp... das ganz funktioniert so wie es da steht.
Es ist natürlich im Script anständig eingerückt. Hab das nur mal hier so schnell reingestellt. :rolleyes:

Aber ich habe das Problem gelöst!!! :cool:

Einfach die FTP Anweisung in Hochkommas ` setzen!


X=`ftp -inv << EOFTP
open $FTPSERVER
user $FTPUSER $FTPPWD
bin
rename $i $DOCID$IMPORTED
quit
EOFTP`


Schon löft dat ganze! :)

Darauf muss man erst mal kommen.
Es lebe der Gedankenblitz!

Gruß,
Mobas