2017-08-08 4 views
-1

Wie arbeiten Sie mit Umleitungsoperator und Rohroperator bezogenen Befehlen in SFTP?Unix: Umleitungsoperator und Pipe-Operator-bezogene Befehle in SFTP

Zur Zeit habe ich SFTP über sshpass wie unten

[[email protected] test]$ sshpass -e sftp -o BatchMode=no -b - [email protected]:/Restore 
Changing to: /Restore 
pwd 

sftp> pwd 
Remote working directory: /Restore 

wieder angeschlossen,

ls -ltr 

sftp> ls -ltr 

-rw-r----- 1 1500  1500  421782831 Jul 19 12:43 mOneBackup_IMS_20170719081701.tgz 

-rw-r----- 1 1500  1500  374262100 Jul 24 11:54 
mOneBackup_IMS_20170724010013.tgz 

Dies ist die Ausgabe von ls -ltr Ergebnisdateien befindet sich in SFTP Prompt geben, was in Ordnung ist.

Aber

Ich brauche einen Befehl anzuzeigen/Holen Sie sich die umgeleiteten Ausgabe von ls -ltr mit | (Pipeline-Operation) und zuletzt 1 Dateiname befindet sich in SFTP Prompt

Während die Befehle mit Rohr Operator Senden (|) in SFTP prompt - Server wirft "konnte nicht Remote-Datei stat: Keine solche Datei oder das Verzeichnis"

ls -ltr | tail -1 

sftp> ls -ltr | tail -1 

Couldn't stat remote file: No such file or directory 
Can't ls: "/Restore/|" not found** 

[[email protected] test]$ 

Wie mit dem Rohr und Umleitung Betrieb in SFTP prompt arbeiten?

Antwort

0

Die kurze Antwort ist, dass "|" hat keine besondere Bedeutung für den sftp "ls" -Befehl.

sftp> !ls -ltr | tail -1 

Hier verwenden Sie die sftp "!" Befehl zum Ausführen eines Befehls auf Ihrem lokalen System. Der Rest der Zeile, ls -ltr | tail -1, wird an Ihre lokale Shell übergeben. Sftp interpretiert das "|" in dieser Linie; Deine Shell tut es. Der einzige Teil, der speziell für sftp ist, ist das führende "!".

sftp> ls -ltr | tail -1 

Hier, du bist mit dem SFTP "ls" Befehl namens Informationen über Remote-Dateien zur Liste "!", "Schwanz" und vielleicht "-1". Die Fehlermeldung, die Sie erhalten, zeigt an, dass keine Remote-Datei mit dem Namen "|" vorhanden ist.

Soweit ich feststellen kann, unterstützt die Befehlszeile sftp Dienstprogramm Umleitung und Verrohrung für einzelne interaktive Befehle nicht.

+0

Danke für das Update. In der Zwischenzeit haben Sie eine Idee, wie Sie die letzte geänderte Datei von sftp Prompt anzeigen. Ich muss die letzte am meisten modifizierte Datei für die Automatisierung nehmen. –

Verwandte Themen