This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: stupid spaces in environment vars
Brian Dessent wrote:
> David Bear wrote:
>
>> Okay, the problem is in quoting in shell scripts, I think.
>>
>> Here's an example:
>> #!/usr/bin/bash
>> curdir=`pwd`
>> echo $curdir
>> prodir=`cygpath $USERPROFILE`
>
> Should be:
>
> prodir=$(cygpath "$USERPROFILE")
>
>> echo $prodir
>> cd $prodir
>
> Should be:
>
> cd "$prodir"
>
>> cd /cygdrive/c/Documents\\\ and\\\ Settings/$USERNAME
>
> Should be:
>
> cd "/cygdrive/c/Documents and Settings/$USERNAME"
>
>> pwd
>> cd $curdir
>
> Should be:
>
> cd "$curdir"
>
> See the pattern? In general whenever you have a variable that might
> contain spaces you just need to quote it. Forget the triple-backslash
> nonsense. Double quotes are all you need.
>
> Brian
thanks you very much. However, there is still something that doesn't work.
Here's a simple script that has problems.
#!/bin/sh
# the user has write access to
src=`cygpath $USERPROFILE`
echo $src
r='snapshot1.pp.asu.edu'
opts=" -av --dry-run -e ssh"
rsync $opts "$src/" $USER@$r:~/$HOSTNAME
--
--
David Bear
College of Public Programs at Arizona State University
--
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html
Documentation: http://cygwin.com/docs.html
FAQ: http://cygwin.com/faq/