Portál AbcLinuxu, 14. května 2025 17:13
DEFRSYNCOPT="-avh --delete -e 'ssh -c arcfour,blowfish-cbc -oCompression=no'"
rsync $DEFRSYNCOPT /Dokumenty/ root@192.168.14.20:/Zaloha/2012-11-13_14/
Bohuzel se nedokazu prenest pres hlasku
Missing trailing-' in remote-shell command. rsync error: syntax or usage error (code 1) at main.c(364) [sender=3.0.9]Syntaxe je ale spravna, protoze kdyz si dam pred radek echo, prikaz rucne zkopiruju a pustim, rsync se pusti a udela co ma. Predem dekuji za radu. Poradi mi nekdo co delam spatne?
Řešení dotazu:
rsync "$DEFRSYNCOPT" ...
RSYNCOPTP=(-avh --delete -e 'ssh -c arcfour,blowfish-cbc -oCompression=no') rsync "${RSYNCOPTP[@]}" "$RSRC" "$RDST"ale mne to nepomuze, protoze se ke mne obsah RSYNCOPTP dostane jako promenna. A takhle jsem tam kde jsem byl...
PROMENNA="-avh --delete -e 'ssh -c arcfour,blowfish-cbc -oCompression=no'" RSYNCOPTP=( ${PROMENNA} ) rsync "${RSYNCOPTP[@]}" "$RSRC" "$RDST"
-e příkaz
. První varianta (escapování) nic neřeší, protože rsync to prostě dostává jako samostatné proměnné
'ssh -c arcfour...nebo
\'ssh -c arcfour...už na vstupu. Osobně soudím, že jiná možnost než použít
RSYNC_RSH
není.
eval
, ale nevím, jestli to bude i případ rsync:
eval rsync $PROMENNA
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.