Pregunta

Estoy trabajando en un script bash donde necesito analizar el resultado de una sesión FTP. Pero encontré un problema con el cliente FTP de SUSE Linux al conectarme a un servidor ftp AIX. El problema es que la salida del comando FTP se muestra en la pantalla, pero no se envía a una tubería si se hace un " | grep " o " | awk ''. Además, si abro la sesión FTP con una redirección de archivo (ftp -n servername > ftplog.log), el contenido del archivo después de la sesión es así:
ftp >
ftp >
ftp >
ftp >
¿Alguien ha encontrado este problema? ¿Hay un parámetro que me falta? Intenté redirigir el error estándar a la salida estándar pero tampoco funcionó.
Gracias

Editar: estoy accediendo al terminal usando Putty SSH, no tengo acceso directo al servidor. No creo que importe, pero por las dudas ...

¿Fue útil?

Solución

Está funcionando ahora.
Me faltaba el parámetro -v para FTP. La documentación es confusa porque indica que el parámetro -v es el valor predeterminado y funcionaba como si estuviera activado (mostrando toda la salida en el terminal), pero no lo imprimía en stdout. Cuando lo activé, las tuberías y la redirección de archivos comenzaron a funcionar.
Gracias

Otros consejos

Debe redirigir stderr DESPUÉS de stdout, como en:

ftp -n servername > ftplog.log 2>&1

NO

ftp -n servername 2>&1 > ftplog.log [wrong!]
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top