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]

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


Folks,

sorry for the delay, I was sick in the meantime. Now, I try to
summarize all my finding in the hopes that bash package maintainer can
pick up from here.

When starting a terminal on my Windows 7 64 bit system $PATH contains
a dot at the end. The dot is not present in my Windows environment nor
is it added in one of the startup scripts. The dot appears even if
startup scripts are disabled. sh does _not_ exhibit the behavior.
Also, other shells do not do this.

Simple test in a Windows cmd window (first command shows there is no
dot at the end):

 Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\rklemme>path
PATH=C:\PROGRAM FILES (X86)\NVIDIA CORPORATION\PHYSX\COMMON;C:\PROGRAM
FILES (X86)\INTEL\ICLS CLIENT\;C:\PROGRAM FILES\I
NTEL\ICLS CLIENT\;C:\PROGRAM FILES (X86)\RSA SECURID TOKEN
COMMON;C:\PROGRAM FILES\COMMON FILES\MICROSOFT SHARED\WINDOWS
 LIVE;C:\PROGRAM FILES (X86)\COMMON FILES\MICROSOFT SHARED\WINDOWS
LIVE;C:\Windows\SYSTEM32;C:\Windows;C:\Windows\SYSTEM
32\WBEM;C:\Windows\SYSTEM32\WINDOWSPOWERSHELL\V1.0\;C:\PROGRAM
FILES\DELL\DELL DATA PROTECTION\ACCESS\ADVANCED\WAVE\GEMA
LTO\ACCESS CLIENT\V5\;C:\PROGRAM FILES (X86)\NTRU CRYPTOSYSTEMS\NTRU
TCG SOFTWARE STACK\BIN\;C:\PROGRAM FILES\NTRU CRYPT
OSYSTEMS\NTRU TCG SOFTWARE STACK\BIN\;C:\PROGRAM FILES (X86)\WINDOWS
LIVE\SHARED;C:\PROGRAM FILES\INTEL\INTEL(R) MANAGEM
ENT ENGINE COMPONENTS\DAL;C:\PROGRAM FILES\INTEL\INTEL(R) MANAGEMENT
ENGINE COMPONENTS\IPT;C:\PROGRAM FILES (X86)\INTEL\
INTEL(R) MANAGEMENT ENGINE COMPONENTS\DAL;C:\PROGRAM FILES
(X86)\INTEL\INTEL(R) MANAGEMENT ENGINE COMPONENTS\IPT;C:\Prog
ram Files\WIDCOMM\Bluetooth Software\;C:\Program
Files\WIDCOMM\Bluetooth Software\syswow64;C:\Program Files
(x86)\Intel\
OpenCL SDK\2.0\bin\x86;C:\Program Files (x86)\Intel\OpenCL
SDK\2.0\bin\x64;C:\Program Files\Intel\Intel(R) Management En
gine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine
Components\IPT;C:\Program Files (x86)\Intel\Intel(
R) Management Engine Components\DAL;C:\Program Files
(x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Fi
les\Intel\WiFi\bin\;C:\Program Files\Common
Files\Intel\WirelessCommon\;C:\Users\rklemme\Applications\SysinternalsSuite

C:\Users\rklemme>c:\cygwin64\bin\bash.exe --norc --noprofile -i -l
bash-4.1$ echo "$PATH"
/cygdrive/c/PROGRAM FILES (X86)/NVIDIA
CORPORATION/PHYSX/COMMON:/cygdrive/c/PROGRAM FILES (X86)/INTEL/ICLS
CLIENT:/cygdr
ive/c/PROGRAM FILES/INTEL/ICLS CLIENT:/cygdrive/c/PROGRAM FILES
(X86)/RSA SECURID TOKEN COMMON:/cygdrive/c/PROGRAM FILES
/COMMON FILES/MICROSOFT SHARED/WINDOWS LIVE:/cygdrive/c/PROGRAM FILES
(X86)/COMMON FILES/MICROSOFT SHARED/WINDOWS LIVE:/
cygdrive/c/Windows/SYSTEM32:/cygdrive/c/Windows:/cygdrive/c/Windows/SYSTEM32/WBEM:/cygdrive/c/Windows/SYSTEM32/WINDOWSPO
WERSHELL/V1.0:/cygdrive/c/PROGRAM FILES/DELL/DELL DATA
PROTECTION/ACCESS/ADVANCED/WAVE/GEMALTO/ACCESS CLIENT/V5:/cygdriv
e/c/PROGRAM FILES (X86)/NTRU CRYPTOSYSTEMS/NTRU TCG SOFTWARE
STACK/BIN:/cygdrive/c/PROGRAM FILES/NTRU CRYPTOSYSTEMS/NTRU
 TCG SOFTWARE STACK/BIN:/cygdrive/c/PROGRAM FILES (X86)/WINDOWS
LIVE/SHARED:/cygdrive/c/PROGRAM FILES/INTEL/INTEL(R) MAN
AGEMENT ENGINE COMPONENTS/DAL:/cygdrive/c/PROGRAM FILES/INTEL/INTEL(R)
MANAGEMENT ENGINE COMPONENTS/IPT:/cygdrive/c/PROG
RAM FILES (X86)/INTEL/INTEL(R) MANAGEMENT ENGINE
COMPONENTS/DAL:/cygdrive/c/PROGRAM FILES (X86)/INTEL/INTEL(R)
MANAGEMEN
T ENGINE COMPONENTS/IPT:/cygdrive/c/Program Files/WIDCOMM/Bluetooth
Software:/cygdrive/c/Program Files/WIDCOMM/Bluetooth
 Software/syswow64:/cygdrive/c/Program Files (x86)/Intel/OpenCL
SDK/2.0/bin/x86:/cygdrive/c/Program Files (x86)/Intel/Op
enCL SDK/2.0/bin/x64:/cygdrive/c/Program Files/Intel/Intel(R)
Management Engine Components/DAL:/cygdrive/c/Program Files
/Intel/Intel(R) Management Engine Components/IPT:/cygdrive/c/Program
Files (x86)/Intel/Intel(R) Management Engine Compon
ents/DAL:/cygdrive/c/Program Files (x86)/Intel/Intel(R) Management
Engine Components/IPT:/cygdrive/c/Program Files/Intel
/WiFi/bin:/cygdrive/c/Program Files/Common
Files/Intel/WirelessCommon:/cygdrive/c/Users/rklemme/Applications/Sysinternal
sSuite:.
bash-4.1$

Note the last line ends with ":.".

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.

Invoking sh does not show the effect:

C:\Users\rklemme>c:\cygwin64\bin\sh.exe --norc --noprofile -i -l
sh-4.1$ echo "$PATH"
/cygdrive/c/PROGRAM FILES (X86)/NVIDIA
CORPORATION/PHYSX/COMMON:/cygdrive/c/PROGRAM FILES (X86)/INTEL/ICLS
CLIENT:/cygdr
ive/c/PROGRAM FILES/INTEL/ICLS CLIENT:/cygdrive/c/PROGRAM FILES
(X86)/RSA SECURID TOKEN COMMON:/cygdrive/c/PROGRAM FILES
/COMMON FILES/MICROSOFT SHARED/WINDOWS LIVE:/cygdrive/c/PROGRAM FILES
(X86)/COMMON FILES/MICROSOFT SHARED/WINDOWS LIVE:/
cygdrive/c/Windows/SYSTEM32:/cygdrive/c/Windows:/cygdrive/c/Windows/SYSTEM32/WBEM:/cygdrive/c/Windows/SYSTEM32/WINDOWSPO
WERSHELL/V1.0:/cygdrive/c/PROGRAM FILES/DELL/DELL DATA
PROTECTION/ACCESS/ADVANCED/WAVE/GEMALTO/ACCESS CLIENT/V5:/cygdriv
e/c/PROGRAM FILES (X86)/NTRU CRYPTOSYSTEMS/NTRU TCG SOFTWARE
STACK/BIN:/cygdrive/c/PROGRAM FILES/NTRU CRYPTOSYSTEMS/NTRU
 TCG SOFTWARE STACK/BIN:/cygdrive/c/PROGRAM FILES (X86)/WINDOWS
LIVE/SHARED:/cygdrive/c/PROGRAM FILES/INTEL/INTEL(R) MAN
AGEMENT ENGINE COMPONENTS/DAL:/cygdrive/c/PROGRAM FILES/INTEL/INTEL(R)
MANAGEMENT ENGINE COMPONENTS/IPT:/cygdrive/c/PROG
RAM FILES (X86)/INTEL/INTEL(R) MANAGEMENT ENGINE
COMPONENTS/DAL:/cygdrive/c/PROGRAM FILES (X86)/INTEL/INTEL(R)
MANAGEMEN
T ENGINE COMPONENTS/IPT:/cygdrive/c/Program Files/WIDCOMM/Bluetooth
Software:/cygdrive/c/Program Files/WIDCOMM/Bluetooth
 Software/syswow64:/cygdrive/c/Program Files (x86)/Intel/OpenCL
SDK/2.0/bin/x86:/cygdrive/c/Program Files (x86)/Intel/Op
enCL SDK/2.0/bin/x64:/cygdrive/c/Program Files/Intel/Intel(R)
Management Engine Components/DAL:/cygdrive/c/Program Files
/Intel/Intel(R) Management Engine Components/IPT:/cygdrive/c/Program
Files (x86)/Intel/Intel(R) Management Engine Compon
ents/DAL:/cygdrive/c/Program Files (x86)/Intel/Intel(R) Management
Engine Components/IPT:/cygdrive/c/Program Files/Intel
/WiFi/bin:/cygdrive/c/Program Files/Common
Files/Intel/WirelessCommon:/cygdrive/c/Users/rklemme/Applications/Sysinternal
sSuite

... and all other shells I tested (zsh, dash, mksh).

Both sh and bash report as the same software:

C:\Users\rklemme>c:\cygwin64\bin\bash.exe --version
GNU bash, version 4.1.11(2)-release (x86_64-unknown-cygwin)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

C:\Users\rklemme>c:\cygwin64\bin\sh.exe --version
GNU bash, version 4.1.11(2)-release (x86_64-unknown-cygwin)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>

This is free software; you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.

BUT: there are binary differences in those files (sorry for the
German, but I guess you get the point):

C:\Users\rklemme>comp c:\cygwin64\bin\bash.exe c:\cygwin64\bin\sh.exe
Vergleichen von C:\cygwin64\bin\bash.exe und C:\cygwin64\bin\sh.exe...
Unterschied festgestellt bei OFFSET 88
Datei1 = AB
Datei2 = AE
Unterschied festgestellt bei OFFSET D8
Datei1 = 91
Datei2 = DB
Unterschied festgestellt bei OFFSET D9
Datei1 = 1D
Datei2 = C2
Unterschied festgestellt bei OFFSET DA
Datei1 = A
Datei2 = 9
Unterschied festgestellt bei OFFSET 2F8
Datei1 = 14
Datei2 = 10
Unterschied festgestellt bei OFFSET 9A600
Datei1 = 62
Datei2 = 73
Unterschied festgestellt bei OFFSET 9A601
Datei1 = 61
Datei2 = 68
Unterschied festgestellt bei OFFSET 9A602
Datei1 = 73
Datei2 = 2E
Unterschied festgestellt bei OFFSET 9A603
Datei1 = 68
Datei2 = 65
Unterschied festgestellt bei OFFSET 9A604
Datei1 = 2E
Datei2 = 78
10 Unterschiede - Vergleich beendet

Weitere Dateien vergleichen (J/N) ? n


I created the attached cygcheck.out at the same cmd prompt (i.e. not
from bash) which explains that quite a few programs are not found:

C:\Users\rklemme>c:\cygwin64\bin\cygcheck -s -v -r > cygcheck.out

I also obtained official bash sources from GNU site to find out
whether I can identify the cause but to no avail.

Thank you for listening so far!

Kind regards

robert


-- 
[guy, jim].each {|him| remember.him do |as, often| as.you_can - without end}
http://blog.rubybestpractices.com/

Attachment: cygcheck.out
Description: Binary data

--
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]