Problème avec la redirection de sortie ftp dans SUSE Linux
Question
Je travaille dans un script bash où je dois analyser le résultat d'une session FTP. Mais j'ai rencontré un problème avec le client FTP SUSE Linux lors de la connexion à un serveur FTP AIX.
Le problème est que la sortie de la commande FTP est affichée à l’écran, mais n’est pas envoyée à un tuyau si vous faites un "| grep " ou "| awk " ;. De plus, si j'ouvre la session FTP avec une redirection de fichier (ftp -n nomserveur > ftplog.log), le contenu du fichier après la session est le suivant:
ftp >
ftp >
ftp >
ftp >
Quelqu'un at-il rencontré ce problème? Y a-t-il un paramètre qui me manque? J'ai essayé de rediriger l'erreur standard vers la sortie standard, mais cela ne fonctionnait pas non plus.
Merci
Modifier: J'accède au terminal à l'aide de Putty SSH, je n'ai pas d'accès direct au serveur. Je ne pense pas que cela compte, mais juste au cas où ...
La solution
Cela fonctionne maintenant.
Il me manquait le paramètre -v pour FTP. La documentation est déroutante car elle indique que le paramètre -v est le dafault et qu'il fonctionnait comme s'il était activé (affichant toutes les sorties dans le terminal), mais il ne l'imprimait pas dans stdout. Quand je l'ai activé, les redirections de tubes et de fichiers ont commencé à fonctionner.
Merci
Autres conseils
Vous devez rediriger stderr APRES stdout, comme dans:
ftp -n servername > ftplog.log 2>&1
PAS
ftp -n servername 2>&1 > ftplog.log [wrong!]