bash and variable holding directories with spaces

Brian Dessent
Sat Dec 3 23:26:00 GMT 2005

"H.S." wrote:

> In the script, I am faced with this problem of defining the source
> directories (dirs on the remote machine to be backed up) in a bash
> variable. I want to define a variable DIRS so that it expands to:
> '/cygdrive/c/Documents\ and\ Settings /cygdrive/d/My\ Data'
> *with* the quotes, to copy "/cygdrive/c/Documents and Settings" and
> "/cygdrive/d/My Data" to my local machine. I want to use this variable
> in the rsync command, like so:
> rsync -av remotehost:$DIRS /mnt/backups
> I have tried a few ways to define the DIRS variable, but I am able to
> get quotes in the expanded value of the variable.

You have to quote $DIRS when you use it otherwise it will be expanded
into multiple words.

DIRS='/cygdrive/c/Documents\ and\ Settings /cygdrive/d/My\ Data'
rsync -av "remotehost:$DIRS" /mnt/backups

If it were me I think I'd just use mount to get rid of the spaces.


Unsubscribe info:
Problem reports:

More information about the Cygwin mailing list