stupid spaces in environment vars

Tristen Hayfield tristen.hayfield@gmail.com
Fri Feb 9 09:41:00 GMT 2007


David Bear wrote:
> 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 
> 
> 
> 

Please, why don't you RTFABSG: http://tldp.org/LDP/abs/html/

Tristen

--
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/



More information about the Cygwin mailing list