Problem mit FTP-Ausgabe in SUSE Linux umleiten
Frage
ich in einem Bash-Skript arbeitete, wo ich die Ausgabe einer FTP-Sitzung zu analysieren. Aber ich stieß auf ein Problem mit SUSE Linux FTP-Client, wenn auf einen AIX-FTP-Server zu verbinden.
Das Problem ist, dass die Ausgabe von dem FTP-Befehl auf dem Bildschirm angezeigt wird beign, aber wird nicht an ein Rohr senden, wenn ein ein tun „| grep“ oder „| awk“. Auch, wenn ich die FTP-Sitzung mit einer Datei Umleitung öffnen (ftp -n Servername> ftplog.log) der Dateiinhalt nach der Sitzung ist wie folgt:
ftp>
ftp>
ftp>
ftp>
Hat jemand dieses Problem gestoßen? Gibt es einen Parameter, der mir fehlt? Ich habe versucht, Standardfehler auf der Standardausgabe umleiten, aber es hat nicht funktioniert.
Dank
Edit: ich das Terminal am Zugriff auf Putty SSH verwenden, ich habe keinen direkten Zugriff auf den Server. Ich glaube nicht, es darauf ankommt, sondern nur für den Fall ...
Lösung
Es funktioniert jetzt.
Mir fehlte der Parameter -v für FTP. Die Dokumentation ist verwirrend, da es heißt, dass der Parameter -v die dafault ist, und es wurde arbeiten, als ob sie aktiviert wurde (alle die Ausgabe in dem Endgerät angezeigt), aber es wurde das Drucken nicht in stdout. Als ich es aktiviert ist, die Rohre und Datei Umleitung zu arbeiten begann.
Dank
Andere Tipps
Sie müssen stderr umleiten NACH stdout, wie in:
ftp -n servername > ftplog.log 2>&1
NICHT
ftp -n servername 2>&1 > ftplog.log [wrong!]