Domanda

Sto lavorando a uno script bash in cui devo analizzare l'output di una sessione FTP. Ma ho riscontrato un problema con il client FTP SUSE Linux durante la connessione a un server ftp AIX. Il problema è che l'output del comando FTP viene visualizzato sullo schermo, ma non viene inviato a una pipe se si esegue un " | grep " o " | awk " ;. Inoltre, se apro la sessione FTP con un reindirizzamento dei file (ftp -n servername > ftplog.log) il contenuto del file dopo la sessione è così:
ftp >
ftp >
ftp >
ftp >
Qualcuno ha riscontrato questo problema? C'è un parametro che mi manca? Ho provato a reindirizzare l'errore standard all'output standard ma non ha funzionato neanche.
Grazie

Modifica: accedo al terminale usando Putty SSH, non ho accesso diretto al server. Non credo sia importante, ma nel caso ...

È stato utile?

Soluzione

Ora funziona.
Mi mancava il parametro -v per FTP. La documentazione è confusa perché afferma che il parametro -v è il dafault e funzionava come se fosse attivato (mostrando tutto l'output nel terminale), ma non lo stava stampando in stdout. Quando l'ho attivato, le pipe e il reindirizzamento dei file hanno iniziato a funzionare.
Grazie

Altri suggerimenti

Devi reindirizzare stderr DOPO stdout, come in:

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

NON

ftp -n servername 2>&1 > ftplog.log [wrong!]
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top