This is the mail archive of the cygwin mailing list for the Cygwin project.

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Combining path components

I just installed Cygwin, which I've used off and on since it was created. 
I've been using MinGw for several months and have a .bashrc file that sets
up some environment variables for me to reduce the typing in some routine
tasks.  The file has the following form, after modifying the first line from
MinGw's format to Cygwin's:

export DD=/cygdrive/D/Common
export LL=$DD/labs

The intent is to make $LL refer to /cygdrive/D/Common/labs.  If I execute
those commands at the bash prompt, I get the desired effect:

"echo $LL" produces "/cygdrive/D/Common/labs"

But when I do
$ . .bashrc  (or ./.bashrc, either one)
$ echo $LL

I get

instead of

When I experiment with various paths for DD and LL, I see the following
pattern.  The beginning of the DD string is overwritten with the LL string. 
For instance, DD=/abcdef/ghi/jklmn; LL=/opqr yields $LL=/opqref/ghi/jklmn.

I don't get this behavior in any other Linux-ish installation I have: either
MinGw, OS X, or any of my Linuces.

Since bash is a GNU product, I'm sure this is a "feature".  So I only need
to know how to get what I want.

And I'm sure you'll ask: the output of "sh --version" includes "GNU bash,
version 4.1.10(4)-release (i686-pc-cygwin).

View this message in context:
Sent from the Cygwin list mailing list archive at

Problem reports:
Unsubscribe info:

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]