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ù ...

Était-ce utile?

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!]
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top