"-signs in rsync as well as in embedded ssh command

Manuel López-Ibáñez manuellopezibanez at yahoo.es
Sat Oct 22 00:13:53 GMT 2005

> The trouble is that rsync parses the "-e" command into arguments, and it
> just splits at every whitespace character without regard for the inner
> quotes.  Maybe rsync should really be calling on a shell to parse the
> command.

Really? Does this mean that any option passed to ssh is interpreted by 
rsync? For example,

rsync -e "ssh  -p port -i mykey " myfile target:/remote/path/

Are -p and -i interpreted by ssh or by rsync?

Actually, I did the experiment and the -p command is taken by ssh and 
not by rsync, so I understood you wrongly: what you said is that command 
inside ssh cannot use shell metacharacters (", *, ?, etc). However, ... 
tachan! Is it very complicated to use several -o before each option?

If you try:

rsync -e "ssh -o Port=22 -o ClearAllForwardings=yes -o ConnectTimeout=5 
target" myfile :/remote/path/

It works perfectly!!

However, is there any possible scenario where the argument of -e should 
be interpreted by a shell? Anyway, does the shell would understand the 
nested quotes at all? If not, then even if the -e argument is 
interpreted by a shell, it won't make any difference in this case, will it?

Perhaps, this might be considered to be added to rsync in the future. 
Perhaps not!



(yes, you are so cool people, that I joined the list for fun! XDD)

Renovamos el Correo Yahoo! 
Nuevos servicios, más seguridad 

More information about the rsync mailing list