This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Re: stupid spaces in environment vars
- From: David Bear <david dot bear at asu dot edu>
- To: cygwin at cygwin dot com
- Date: Thu, 08 Feb 2007 20:34:11 -0700
- Subject: Re: stupid spaces in environment vars
- References: <1207595.6YXS76RrHQ@teancum> <45CA8AAF.9050107@cygwin.com>
- Reply-to: david dot bear at asu dot edu
Larry Hall (Cygwin) wrote:
> David Bear wrote:
>> I would like to have used something like
>>
>> cd $USERPROFILE
>>
>> in a bash script but since windows insists on putting spaces in names,
>> this seems impossible.
>>
>> I did find a usecase where the spaces in c:\Documents and
>> Settings\username were tripple quoted. However, this did not work for me.
>> Bash still wanted to split on the space.
>>
>> Is there any cool utility that could be used like
>> cleanpath=pathcleaner($USERPROFILE)
>> cd $cleanpath
>>
>> I know this is a consistent issue with cygwin. There really needs to be a
>> good solution.
>
> $ cat cup
> #!/bin/bash
> cd "$USERPROFILE"
> pwd
>
> $ ./cup
> /Documents and Settings/me
>
> What's the problem again?
>
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`
echo $prodir
cd $prodir
cd /cygdrive/c/Documents\\\ and\\\ Settings/$USERNAME
pwd
cd $curdir
pwd
--
--
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/