This is the mail archive of the
mailing list for the Cygwin project.
Re: quoting windows pathnames
Igor Pechtchanski wrote:
On Mon, 26 May 2003, Charles D. Russell wrote:
Since switching to Windows XP, I am forced to use pathnames with spaces. In
.profile, how do you quote a pathname with spaces so that cd $DIRNAME and
ls $DIRNAME will work? I can write a $DIRNAME that will work in makefiles
or when invoked from the bash shell as ls "$DIRNAME", but I can't find a way
that lets me omit the quotes when using ls from the shell prompt.
You really should use double quotes -- that's what they're there for.
You can avoid having to use pathnames with spaces with judicious use of
"mount" and/or symlinks. If you really, really, have to use pathnames
with spaces AND not use double quotes at the prompt, you may try the
$ alias ls='eval /bin/ls'
$ export DIRNAME='"/cygdrive/c/Program Files"'
$ ls $DIRNAME
AFP Workbench 32/ PowerPoint Viewer/
I also recommend using mount and/or symlinks, e.g.
$ mkdir /programs
$ mount 'C:\Program Files' /programs
but another option is to switch from bash to zsh. By default, it does
_not_ perform field splitting on the value of environment variables, so
$ cd $DIRNAME
$ ls $DIRNAME
will work as you expect.
(This is controlled by the SH_WORD_SPLIT option.)
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Problem reports: http://cygwin.com/problems.html