2008/12/5 Omer Zak <[EMAIL PROTECTED]>: > I checked the expressions, using 'echo $whatever' in my bash, whose > version string is: > GNU bash, version 3.1.17(1)-release (i486-pc-linux-gnu) > Copyright (C) 2005 Free Software Foundation, Inc. > > All behaved without extra quote marks or whatever. > > So, Amos - please let us know which shell and version did you use for > 'sh'.
# bash --version GNU bash, version 3.2.25(1)-release (x86_64-redhat-linux-gnu) Copyright (C) 2005 Free Software Foundation, Inc. This is an up to date centos 5.2 The "echo" indeed shows things as they are expected, but: e=echo $e $rsync $local/ $copyto/ gives: e=echo + e=echo $e $rsync $local/ $copyto/ + echo /usr/bin/rsync -navHz --delete --delay-updates --bwlimit=256 -e ''\''ssh' -i '/root/rsync.id'\''' /mnt/data/html/minicpan/ test01:/mnt/data/html/minicpan/ /usr/bin/rsync -navHz --delete --delay-updates --bwlimit=256 -e 'ssh -i /root/rsync.id' /mnt/data/html/minicpan/ test01:/mnt/data/html/minicpan/ And maybe that's what the eval does, i.e. it's equivalent to: eval `$e $rsync $local/ $copyto/` Which works right (but then - the echo and `` are redundant). Cheers, --Amos ================================================================= To unsubscribe, send mail to [EMAIL PROTECTED] with the word "unsubscribe" in the message body, e.g., run the command echo unsubscribe | mail [EMAIL PROTECTED]