GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Rohrausgangsposition angeben

Sie können xargs verwenden oder genau diese Anforderung. Sie können die -I verwenden als Platzhalter für die von der Pipeline erhaltene Eingabe do

echo "myserver:${HOME}/dir/2/" | xargs -I {} rsync -r "{}" /local/path/

(oder) verwenden Sie ~ ohne doppelte Anführungszeichen, unter denen es nicht zu HOME erweitert wird Verzeichnispfad.

echo myserver:~/dir/2/ | xargs -I {} rsync -r "{}" /local/path/

Dies

 rsync -r "$(echo myserver:~/dir/2/)" /local/path/

ist der einfachste Weg, es zu tun.

Piping verbindet stdouts mit stdins. Hier möchten Sie, dass die Ausgabe an ein Argument geht, also brauchen Sie etwas anderes als klassisches Piping.

Dieses Etwas ist Befehlsersetzung ($() ).


Sie können rsync geben eine Liste von Dateien, die in einer Datei oder auf der Standardeingabe mit --files-from heruntergeladen werden sollen :

echo "dir/2/" | rsync --files-from=- -r [email protected]: /local/path/

Die - macht rsync von der Standardeingabe lesen. Der Server kann nicht an rsync übergeben werden auf diese Weise. Es wird nur eine einzige Verbindung zum Server hergestellt und alle Dateien werden über diese Verbindung übertragen.

Wenn Sie -a verwenden oder --archive mit --files-from dann müssen Sie explizit -r hinzufügen oder --recursive wenn Sie seit dieser Option eine Rekursion durchführen möchten, obwohl sie Teil von -a ist , ist deaktiviert, wenn --files-from verwendet wird.


Linux
  1. Pipe-Ausgabe zur Verwendung als Suchspezifikation für grep unter Linux

  2. Wie kann /dev/urandom zur Linux-Soundausgabe geleitet werden?

  3. Pipe-Ausgabe zur Bash-Funktion

  4. Wie kann ich die Ausgabe von grep an cp weiterleiten?

  5. Kann ich die Pipe-Ausgabe als Shell-Skript-Argument verwenden?

Seashells – Leiten Sie die Ausgabe Ihres Linux-Befehls in Echtzeit ins Web

Ausgabe umleiten und leiten?

Rohr B nach D? – A &&B || C | D?

Was bedeutet das Linux-Pipe-Symbol | tun?

Pipe/Mix Line In zum Ausgang in PulseAudio

Wie kann ich etwas zum Audioausgang leiten?