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

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.
Configuration: Windows XP
Internet Explorer 6.0

3 réponses

  1. Modérateur
    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
    1. 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
      1. 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
    2. Salut. J'ai exactement le meme probleme.
      Est-ce que vous avez trouve une reponse?

      Merci.
      0