Récupérer le résultat d'un FTP

Fermé
loulou - 10 oct. 2007 à 21:31
 esalagea - 21 mai 2008 à 17:20
Bonjour,

J'exécute une commande FTP dans un shell script.
Je veux récupérer le code retour (status code) pour savoir si le FTP a bien fonctionné ou pas car dans la négative je veux afficher un message.
J'ai utilisé $? mais ça n'a rien donné.

Merci à tous de votre aide.

3 réponses

jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 896
10 oct. 2007 à 22:37
Salut,

Faudrait peut être nous afficher ton script, parce qu'on n'est pas devin et c'est assez dur de deviner les erreurs de syntaxes ou d'imaginer ton codage...

;-))
0
Bonjour,

La commande FTP ci-dessous fonctionne très bien lorsque le fichier à transférer existe.

cd $CHEMIN
ftp -n $AD_IP $PORT << SCRIPT
user "$USER" $PASSWD
verbose
cd conciliation
binary
get $FICHIER
bye
SCRIPT


Par contre lorsque le fichier n'existe pas, je veux provoquer une erreur et afficher un message.
C'est la partie ci-dessous qui ne fonctionne pas. Le programme appelant se termine avec un code retour normal alors qu'il ne le devrait pas.

code_retour=$?
echo "code retour="$code_retour

if [ $code_retour -ne 0 ];
then echo "..... ERREUR lors du transfert "
exit 1
else
echo " "
echo " -> Transfert termine. Veuillez verifier le resultat de votre requete."
fi


Pourtant lorsque le fichier n'existe pas, le FTP signale une erreur:

-> fich à traiter: /apps/oracle/prodappl/omhm/11.5.0/ce/log/20071014.DAT

Verbose mode on.
250 CWD command successful.
200 Type set to I.
200 PORT command successful.
550 20071014.DAT: The system cannot find the file specified.
221



Merci beaucoup de votre aide.
0
J'ai la même question.
Comment recuperer ces status pour faire un traitement conditionnel.
SI qq un à la reponse ou loulou a déjà trouvé...
ca m'interesse.


lolo
0
Salut. J'ai exactement le meme probleme.
Est-ce que vous avez trouve une reponse?

Merci.
0