A voir également:
- CODE RETOUR FTP (URGENT SVP)
- Code asci - Guide
- Code puk bloqué - Guide
- Code telephone oublié - Guide
- Code activation windows 10 - Guide
- Retour à la ligne excel - Guide
5 réponses
Problablement que tu lance un commande apres ton ftp
dans le premier script ?
sinon fait un echo du $? dans le premier script et recupere le
resultat dans le script principal.
dans le premier script ?
sinon fait un echo du $? dans le premier script et recupere le
resultat dans le script principal.
Je l'avais fait mais toujours pareil.
Le put.csh contient ceci :
#------------------------------------------------------------------
#! /bin/csh
ftp -n << EOD
open adresse_machine
use user password
ascii
put nom_fic
bye
EOD
exit($status)
#-------------------------------------------------------
/* Le $status est équivalent au $? en ksh */
Donc j'ai l'impression que le code retour $status correspond au bye de ftp (ce qui explique que j'ai toujours 0 peut être).
Je ne vois vraiment pas comment résoure ce problème surtout mon programme doit être lancé en automatique
Merci encore une fois.
Le put.csh contient ceci :
#------------------------------------------------------------------
#! /bin/csh
ftp -n << EOD
open adresse_machine
use user password
ascii
put nom_fic
bye
EOD
exit($status)
#-------------------------------------------------------
/* Le $status est équivalent au $? en ksh */
Donc j'ai l'impression que le code retour $status correspond au bye de ftp (ce qui explique que j'ai toujours 0 peut être).
Je ne vois vraiment pas comment résoure ce problème surtout mon programme doit être lancé en automatique
Merci encore une fois.
J'ai viré exit($status) mais ça rend toujours 0
Voilà le petit test que j'ai fait : dans un fichier fic2.ksh
#-------------------------------
#fichier fic2.ksh
#!/bin/ksh
./fic1.csh
cr=$?
echo "VOILA CR= $cr"
exit 0
#---------------------------
#Le fichier fic1.csh contient ce qui suit :
#! /bin/csh
ftp -n << EOD
open adresse_machine
use user password
ascii
put nom_fic
bye
EOD
#---------------------------------------------------
Je lance alors ./fic2.ksh et j'ai ce résultat :
VOILA CR=0
/* Sachant que le ftp a été raté */
Voilà le petit test que j'ai fait : dans un fichier fic2.ksh
#-------------------------------
#fichier fic2.ksh
#!/bin/ksh
./fic1.csh
cr=$?
echo "VOILA CR= $cr"
exit 0
#---------------------------
#Le fichier fic1.csh contient ce qui suit :
#! /bin/csh
ftp -n << EOD
open adresse_machine
use user password
ascii
put nom_fic
bye
EOD
#---------------------------------------------------
Je lance alors ./fic2.ksh et j'ai ce résultat :
VOILA CR=0
/* Sachant que le ftp a été raté */
Bonjour admo,
Malheureusement on ne peut pas faire un simple test du code retour d ftp.
J'étais obligé de résoudre le problème autrement :
Si je veux faire un get : j'écrit un shell qui fait
ftp -n << EOD > ${fic.trc} 2>&1
open ${ADR}
use ${USR} ${PWD}
cd ${REP}
${TYP}
get ${FIC}
bye
EOD
et puis je teste si le fichier de trace contient qqc :
if [ -s ${fic.trc} ] alors le ftp n'a pas marché
Alors que pour vérifier si un fichier existe sur le serveur distant avant de faire un put, je fais d'abord un ftp qui fait un simple 'ls' nom_fic redirigé dans une trace et puis j'analyse ma trace .
J'espère avoir été clair.
Malheureusement on ne peut pas faire un simple test du code retour d ftp.
J'étais obligé de résoudre le problème autrement :
Si je veux faire un get : j'écrit un shell qui fait
ftp -n << EOD > ${fic.trc} 2>&1
open ${ADR}
use ${USR} ${PWD}
cd ${REP}
${TYP}
get ${FIC}
bye
EOD
et puis je teste si le fichier de trace contient qqc :
if [ -s ${fic.trc} ] alors le ftp n'a pas marché
Alors que pour vérifier si un fichier existe sur le serveur distant avant de faire un put, je fais d'abord un ftp qui fait un simple 'ls' nom_fic redirigé dans une trace et puis j'analyse ma trace .
J'espère avoir été clair.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
essaie de passer une url ( voir eemple plus bas ),
dans tous les cas
j'ai bien l'impression que c'est la commande ftp qui renvoie
un status de 0 a partir du moment ou tu est bien connecté
meme si le transfert a pu ou non se faire.
normalement avec ca, ca marche.
#!/bin/csh
ftp ftp://login:password@localhost << EOF
ascii
put nom_fic
bye
EOF
dans tous les cas
j'ai bien l'impression que c'est la commande ftp qui renvoie
un status de 0 a partir du moment ou tu est bien connecté
meme si le transfert a pu ou non se faire.
normalement avec ca, ca marche.
#!/bin/csh
ftp ftp://login:password@localhost << EOF
ascii
put nom_fic
bye
EOF