Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
935 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Problème script sftp

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Problème script sftp

n°1784346
Tonio94
Posté le 09-09-2008 à 11:48:54  profilanswer
 

Salut,
 
J'ai un petit problème avec un script sftp, lorsque je fais :
 

Code :
  1. /usr/bin/sftp toto@host <<END_SCRIPT
  2.         put file.txt
  3.         bye
  4.         END_SCRIPT


 
Ça fonctionne bien mais quand je rajoute le même code dans un while :
 

Code :
  1. cat $toto | while read line
  2. do
  3.         /usr/bin/sftp toto@host <<END_SCRIPT
  4.         put $line
  5.         bye
  6.         END_SCRIPT
  7. done


 
 
Il me sort un syntax error at line 16 : `<<' unmatched, je ne comprends pas  :heink:
 
 
Merci pour votre aide.

mood
Publicité
Posté le 09-09-2008 à 11:48:54  profilanswer
 

n°1784852
Tonio94
Posté le 10-09-2008 à 09:40:02  profilanswer
 

:hello:

n°1785101
Tonio94
Posté le 10-09-2008 à 16:28:58  profilanswer
 

Bon finalement je n'ai pas trouvé de solutions à ce problème précisément mais j'ai trouvé une autre façon d'utiliser sftp pour transférer une liste de fichiers.
 
Dans mon script je créé un fichier temporaire, de cette façon : echo "ma commande" >> fichier_tmp, dans lequel je mets les commandes à exécuter.
 
Ca me donne un fichier de ce style au final :
 

Code :
  1. put file1
  2. put file2
  3. put file3
  4. bye


 
Et au final je n'ai plus besoin d'appeler sftp dans une boucle, je ne l'appel qu'une seule fois dans mon script, de cette façon :
 

Code :
  1. sftp user@hostname < file_tmp


 
Ou, autre façon de faire :
 

Code :
  1. sftp -b file_tmp user@hostname


 
 
Voila pour ceux à qui ça servira peut-être ! Bye bye

n°1927375
Wobak
Come get some !
Posté le 28-09-2009 à 17:19:21  profilanswer
 

Je déterre ce topic pour expliquer le problème :  
 

Citation :

Code :
 
   1. cat $toto | while read line
   2. do
   3.         /usr/bin/sftp toto@host <<END_SCRIPT
   4.         put $line
   5.         bye
   6.         END_SCRIPT
   7. done


 
Ton END_SCRIPT étant indenté, il ne le trouve pas et parcourt le script jusqu'au bout.
 
Il aurait fallu que ton while ressemble à ça :
 

Citation :

Code :
 
   1. cat $toto | while read line
   2. do
   3.         /usr/bin/sftp toto@host <<END_SCRIPT
   4.         put $line
   5.         bye
   6. END_SCRIPT
   7. done


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  Problème script sftp

 

Sujets relatifs
Débutant ==> Problème avec un programmescript en VBS
script de purgescript ftp
problème macrosproblème d'affichage RSS 2.0 depuis source html
Réalisation d'un scriptProbleme de socket dans petit script sftp Perl
Plus de sujets relatifs à : Problème script sftp


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR