This is the mail archive of the
mailing list for the Cygwin project.
Re: Bash puzzle: Spaces, environment variables and tab completion
- From: "Ehud Karni" <ehud at unix dot mvs dot co dot il>
- To: qumqam at yahoo dot com
- Cc: cygwin at cygwin dot com
- Date: Wed, 4 Dec 2002 11:36:51 +0200
- Subject: Re: Bash puzzle: Spaces, environment variables and tab completion
- Organization: Mivtach-Simon Insurance agencies
- References: <email@example.com>
- Reply-to: ehud at unix dot mvs dot co dot il
> 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.
That's the bash way. You can get omit the enclosing quotes if you
change the IFS environment variable like this IFS="".
Note that this may harm execution of your commands/scripts. Read
the bash man page for more information.
My (bypass) solution to your problem is to make a symlink to the
desired directory without spaces in it and use that file name.
e.g. ln -s "/cygdrive/c/Program Files" ~/PF
The advantage of this "bypass" is that you can use the symlink in
scripts without defining the environment variable for each one.
Ehud Karni Tel: +972-3-7966-561 /"\
Mivtach - Simon Fax: +972-3-7966-667 \ / ASCII Ribbon Campaign
Insurance agencies (USA) voice mail and X Against HTML Mail
http://www.mvs.co.il FAX: 1-815-5509341 / \
mailto:firstname.lastname@example.org Better Safe Than Sorry
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple
Bug reporting: http://cygwin.com/bugs.html