|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Invité de passage
![]() Inscription : janvier 2013 Messages : 2 ![]() |
Bonjour,
J'ai développé il y a quelques mois un script ftp générique pour AIX et SUN. Je porte aujourd'hui ce script sur linux redhat et je suis confronté à un comportement étrange lors de l'exécution d'une commande ftp en mode batch. Voici un exemple de fichier de commande (cmd.txt): Code :
Lorsque je lance la commande ftp -nvi host <cmd.txt, j'obtiens l'output suivant: Connected to host(ip). 220 host FTP server (Version 4.2) ready. Remote system type is UNIX. Using binary mode to transfer files. 331 Password required for ****. 230-Last login: Tue Jan 8 15:34:08 NFT 2013 on ftp from ****** 230 User **** logged in. 200 Type set to A; form set to N. Local directory now monRépertoireLocal 250 CWD command successful. Verbose mode off. ###FILE_LIST_START### -rw-r--r-- 1 ****** ****** 712580 Jan 08 06:10 file1.txt ###FILE_LIST_END### Maintenant lorsque je lance la même commande mais en redirigeant l'output dans un fichier: Code :
ftp -nvi host <cmd.txt 1>toto.txt 2>&1 Connected to host(ip). 220 host FTP server (Version 4.2) ready. Remote system type is UNIX. Using binary mode to transfer files. 331 Password required for ****. 230-Last login: Tue Jan 8 15:34:08 NFT 2013 on ftp from ****** 230 User **** logged in. 200 Type set to A; form set to N. Local directory now monRépertoireLocal 250 CWD command successful. ###FILE_LIST_START### ###FILE_LIST_END### Verbose mode off. -rw-r--r-- 1 ****** ****** 712580 Jan 08 06:10 file1.txt L'output des commandes locales sont redirigés avant l'output des commandes distantes ?! Après plusieurs heures de recherche je ne comprend pas ce comportement ni même un moyen de contourner ce problème sans modifier une grande partie de mon script qui doit rester générique (AIX|SUN|LINUX) J'espère être suffisamment clair dans l'explication Il est très simple de reproduire ce cas. Toutes les idées ou suggestions sont les bienvenues ! Merci d'avance ! |
||
|
|
00
|
|
|
#2 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 4 224 ![]() |
pour qu'un script soit GARANTI multi plateforme quelque soient les évolutions futures de chacunes il est impératif d'appliquer la méthode suivante :
toute autre méthode est à proscrire définitivement ![]() quand à ton problème de redirection tu peux tester avec un pipe tee plutot qu'une redirection d'autant plus que tu redirige 1> alors que > sera plus pertinant pour logguer un ftp... |
|
|
10
|
|
|
#3 |
|
Invité de passage
![]() Inscription : janvier 2013 Messages : 2 ![]() |
Merci de ta réponse rapide.
J'avais déjà essayé plusieurs solutions dont "| tee" mais sans succès. Je comprend bien le fait de splitter le script en différentes fonctions, mais avant d'en arriver là, j'aurais aimé comprendre pourquoi le comportement est différent sur cette plateforme. Je suis juste curieux Merci en tout cas. |
|
|
00
|
Copyright © 2000-2013 - www.developpez.com