This is the mail archive of the
mailing list for the Cygwin project.
Re: Bash puzzle: Spaces, environment variables and tab completion
- From: Randall R Schulz <rrschulz at cris dot com>
- To: cygwin at cygwin dot com
- Date: Tue, 03 Dec 2002 22:59:19 -0800
- Subject: Re: Bash puzzle: Spaces, environment variables and tab completion
You're swimming upstream. Don't do that. Use the system in accordance with
Parsing command lines based on white-space separators fundamentally entails
the need for escaping or quoting when those separator characters are to be
included in the arguments and not used to separate them.
At 22:09 2002-12-03, James Shaw wrote:
No, No and Yes. Just leave the spaces in the variable and command
completion will insert the necessary escapes when expanding it. If the
variable references is already inside a double-quote (even if it's not yet
closed on the right), then command completion will not insert the backslashes.
I have been using cygwin for several months, and there is something that I
haven't been able to figure out how to do: effectively use spaces in bash
I realize this is basically a bash question and isn't Cygwin specific, but
I'm sure more Cygwin users have to deal with spaces in bash than the
typical bash user.
What I want to do is define an environment
variable so I can easily cd or ls. E.g.
% PF="/cygdrive/c/Program Files"
% cd $PF
% ls $PF/Games
% ls $PF/G<tab completion!>
The above is close, I can
% cd "$PF"; ls "$PF"/Games; and even
ls "$PF"/G<tab> however, the quotes are clunky.
My kludge to avoid the quotes is:
which allows cd $PF; ls $PF/Games,
but stops bash in its tracks on tab completion.
Since I would find this very handy, I've spent some time on trying to make
this work. I've tried various quoting schemes, but with no luck.
So, I ask the list:
Can you define $PF so that cd $PF;
ls $PF/Games; and ls $PF/G<tab> all work???
I usually like to puzzle these out for myself, but in this case, I'm stumped.
Thanks for your help,
Mountain View, CA USA
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html