delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/2007/02/08/11:02:02

X-Spam-Check-By: sourceware.org
X-YMail-OSG: 1Ae.dlgVM1nmVab6UAPD6r0mrKWprXOEUgYo_YhV1xtWeGma6MOD7G4L2mWJNufD7Q--
Date: Thu, 8 Feb 2007 07:12:59 -0800 (PST)
From: Frodak <frodak17 AT yahoo DOT com>
Subject: Re: stupid spaces in environment vars
To: cygwin AT cygwin DOT com
In-Reply-To: <45CA8AAF.9050107@cygwin.com>
MIME-Version: 1.0
Message-ID: <533213.63517.qm@web58615.mail.re3.yahoo.com>
X-IsSubscribed: yes
Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm
List-Id: <cygwin.cygwin.com>
List-Unsubscribe: <mailto:cygwin-unsubscribe-archive-cygwin=delorie DOT com AT cygwin DOT com>
List-Subscribe: <mailto:cygwin-subscribe AT cygwin DOT com>
List-Archive: <http://sourceware.org/ml/cygwin/>
List-Post: <mailto:cygwin AT cygwin DOT com>
List-Help: <mailto:cygwin-help AT cygwin DOT com>, <http://sourceware.org/ml/#faqs>
Sender: cygwin-owner AT cygwin DOT com
Mail-Followup-To: cygwin AT cygwin DOT com
Delivered-To: mailing list cygwin AT cygwin DOT com

--- "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?

It's passing quoted items around I think is confusing
or when the expansion happens.  But, I'm fairly new to
shell scripts and still learning.

Here are a couple of more examples.

E.g
BAD:
alias cdp=cd\ "$USERPROFILE"
+alias 'cdp=cd C:\Documents and Settings\me'

alias cdp="cd $USERPROFILE"
+alias 'cdp=cd C:\Documents and Settings\me'

GOOD:
alias cdp="cd \"$USERPROFILE\""
+ alias 'cdp=cd "C:\Documents and Settings\me"'

alias cdp='cd "$USERPROFILE"'
+ alias 'cdp=cd "$USERPROFILE"'

:-)
Frodak


 
____________________________________________________________________________________
Now that's room service!  Choose from over 150,000 hotels
in 45,000 destinations on Yahoo! Travel to find your fit.
http://farechase.yahoo.com/promo-generic-14795097

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

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019