ftp script in "if else fi" loop probs

Pagina: 1
Acties:

  • Gosu
  • Registratie: December 2001
  • Laatst online: 24-06-2022

Gosu

UltraBook

Topicstarter
ftp en een loop geven een probleem:

code:
1
2
3
4
5
6
7
8
9
10
11
12
if test "$1" = " Sun"; then
   ftp ftp.nl <<**
   user name pw
   put blaat
   bye
   **
   echo "ftp klaar"
else
   cp blaat /home/test
fi
echo "alles klaar"
exit 0


en dan krijg ik blij --> unexpected end of file

normaal wordt dit gegeven als er een block (loop) niet goed is afgesloten, dit is wel het geval, want wanneer ik ftp (<<** tot **} script weghaal werkt alles prima...

heeft iemand een oplossing? (liefst geen extrene scripts)

bij voorbaat dank!

Del XPS 13


  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
Dit lukt niet :)

Maak een file .netrc met daarin

machine <hostname> login <username> password <pass>

  • Gosu
  • Registratie: December 2001
  • Laatst online: 24-06-2022

Gosu

UltraBook

Topicstarter
en dan ook de handelingen die ik uit wil voeren? hmmm moet ik me script gaan ombouwen... met extrene vaiabelen...

in ieder geval bedankt dat ik nu weet dat het gewoon helemaal niet kan :D :(

[ Voor 27% gewijzigd door Gosu op 01-09-2003 14:47 ]

Del XPS 13


  • avatar
  • Registratie: Juni 1999
  • Laatst online: 17-04 09:09

avatar

peace, love & linux

Zoals jouw script gebruik ik het al jaren zonder problemen. Misschien dat die ** niet worden gesnapt? Als je die eens vervangd door een reeks letters?

Verwijderd

Volgens mij zit 't prbleem in de spaties voor de afsluitende ++

Het 'here-document' verwacht ++, niet spatie-spatie++ (of tab++) als afsluiter.

Oftewel:
code:
1
2
3
4
5
6
7
8
9
10
11
12
if test "$1" = " Sun"; then
   ftp ftp.nl <<**
   user name pw
   put blaat
   bye
**        # <--------- geen spatie/tabs
   echo "alles klaar"
else
   cp blaat /home/test
fi
echo "alles klaar"
exit 0

En meteen je programmeerstijl in de war :)

[ Voor 53% gewijzigd door Verwijderd op 01-09-2003 23:01 ]


  • XTerm
  • Registratie: Juli 2001
  • Laatst online: 10-06-2025
Ik zeg niet dat het NIET kan op die manier, ik zeg alleen niet op de manier die jij daar zegt.

Ik heb een paar weken terug erop gegoogled en enkel de netrc oplossing onthouden. Iirc waren er nog 2 oplossingen die niet met externe files te maken hadden.

Verwijderd

Als je hem anders indeeld dan moet het scriptje wel lukken:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
if [ ! "$1" = "Sun" ]; then 
   cp blaat /home/test
   echo "copy klaar"
   exit 0
fi



ftp -p -n <<**
open ftp.nl
user  name passwd
put blaat
bye
**
echo "ftp klaar"
Pagina: 1