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

War es hilfreich?

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!]
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top