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]

Re: bash adds dot to $PATH (was: Re: $PATH contains dot but unclear where it comes from)


On 3/6/2014 05:29, Robert Klemme wrote:
The phenomenon persists, for these executions:
c:\cygwin64\bin\bash.exe --norc --noprofile -i
c:\cygwin64\bin\bash.exe --norc --noprofile
c:\cygwin64\bin\bash.exe -i -l

Actually I could not find a commandline with bash that did not lead to
the dot appended.

Try something a bit different for me, please.  At a cmd.exe prompt:

    c:\cygwin64\bin\bash -x exit > Links\Desktop\bashlog.txt 2>&1

Examine that log file carefully, or attach it to a reply here if you don't mind sharing its potentially sensitive contents. I think you'll find -- among the hundreds of commands that get logged by bash -x -- that . is explicitly being added somewhere along the way.

I created the attached cygcheck.out

Did you notice that there is no dot in the path in either path dump in the first part of that file? Presumably you ran cygcheck under Bash, which inherited the PATH that Bash had.

Unless this is some weird feature of Bash that you've turned on, the only way I can think of that this can happen is that you have a shell startup script that is appending . to the path without exporting it.

You could confirm with:

    $ export PATH
    $ cygcheck -srv > x

Then look at 'x' and see if the path dumps at the start of that file now contain the dot.

Other oddities in that cygcheck output:

Cygwin installations found in the registry:
  System: Key: e022582115c10879 Path: C:\cygwin64
  User:   Key: c5e39b7a9d22bafb Path: C:\cygwin (ORPHANED)
  User:   Key: e022582115c10879 Path: c:\cygwin64

Is c:\cygwin entirely removed?

c:\cygwin64      /          system  binary,auto
c:\cygwin64\bin  /usr/bin   system  binary,auto
c:\cygwin64\lib  /usr/lib   system  binary,auto
cygdrive prefix  /cygdrive  user    binary,posix=0,auto

Not Found: awk
Not Found: bash
Not Found: cat
Not Found: cp
Not Found: cpp (good!)
Not Found: crontab
Found: C:\Windows\SYSTEM32\find.exe
Not Found: gcc
Not Found: gdb
Not Found: grep
Not Found: kill
Not Found: ld
Not Found: ls
Not Found: make
Not Found: mv
Not Found: patch
Not Found: perl
Not Found: rm
Not Found: sed
Not Found: ssh
Not Found: sh
Not Found: tar
Not Found: test
Not Found: vi
Not Found: vim

Warning: cygwin1.dll not found on your path

This system is fairly screwed up. This tells me that Cygwin's bin is mounted on /usr/bin, yet above we saw that c:\cygwin64\bin isn't in your PATH. I'm thinking someone has monkeyed with your shell startup scripts.

I suspect both of these problems are related. The same thing that has added . to your PATH has removed Cygwin's bin from it.

I don't see how you got cygcheck to run at all.

--
Problem reports:       http://cygwin.com/problems.html
FAQ:                   http://cygwin.com/faq/
Documentation:         http://cygwin.com/docs.html
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple


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