[OT] Cudzysłowy, apostrofy, spacje a rsync

Łukasz Maśko masko w ipipan.waw.pl
Pią, 10 Sty 2014, 10:12:03 CET


Temat jest offtopic, ale może ktoś mi pomoże rozwiązać takie zagadnienie.

Mam komputer w pracy i laptop. Struktura katalogów z dokumentami na obu jest 
taka sama. CZASAMI potrzebuję je sobie zsynchronizować, ale nie chcę tego 
robić całościowo, czyli synchronizować całego poddrzewa katalogów z 
dokumentami. Interesują mnie pojedyncze podkatalogi. Zrobiłem sobie taki 
skrypcik:

#!/bin/bash
rsync -vau -e ssh "ed w geralt:$PWD/" "$PWD/"

Wchodzę do interesującego mnie podkatalogu, odpalam i - w założeniach - 
powinno mi zaciągnąć zmiany ze zdalnego komputera. I działa - ale wyłącznie 
wtedy, gdy w PWD nie ma spacji. Jeśli jest, to się wywraca:

$ rsync -vau -e ssh "ed w geralt:$PWD/" "$PWD/"
receiving incremental file list
rsync: link_stat "/home/users/ed/doc/artykuly/z" failed: No such file or 
directory (2)
rsync: change_dir "/home/users/ed//sieci/scheduling" failed: No such file or 
directory (2)

sent 8 bytes  received 12 bytes  13.33 bytes/sec
total size is 0  speedup is 0.00
rsync error: some files/attrs were not transferred (see previous errors) 
(code 23) at main.c(1580) [Receiver=3.0.9]

W zasadzie nic dziwnego. Próbowałem to obejść. Jeśli z linii poleceń napiszę 
równoważnik z rozwiniętym PWD i przed spacjami postawię backslash, to działa. 
Ale mi chodzi o automat, a tam to odpada. Próbowałem dołożyć te backslashe 
sedem:

#!/bin/bash
DIR=`echo $PWD | sed 's/ /\\ /g'`
rsync -vau -e ssh "ed w geralt:$DIR/" "$DIR/"

Ale to niczego nie zmienia, dalej wywraca się tak samo. Może jakaś 
podpowiedź, jak obejść ten problem? Mogę co prawda podmieniać sedem spację na 
znak zapytania, ale to może być za dużo i takiego rozwiązania chcę uniknąć.
-- 
Łukasz Maśko                                                            _o)
Lukasz.Masko(at)ipipan.waw.pl                                           /\\
Registered Linux User #61028                                           _\_V
Ubuntu: staroafrykańskie słowo oznaczające "Nie umiem zainstalować Debiana"



Więcej informacji o liście pld-users-pl