This is the mail archive of the cygwin@sources.redhat.com 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]

Strange cd/CDPATH behavior


When I combine a CDPATH containing "." and a cd to a DOS style path, cd
echos the cd'd directory.  That's the behavior I'd expect in an interactive
shell, but not within a script.

For example,
    #!/bin/bash
    export CDPATH=.
    echo `cd c:/; ls`
produces
    /c AUTOEXEC.BAT AUTOEXEC.DOS BOOTLOG.PRV BOOTLOG.TXT BOOTSECT.DOS ...
notice the leading "/c".

If CDPATH doesn't contain ".", "/c" doesn't appear:
    #!/bin/bash
    export CDPATH=/c:/d
    echo `cd c:/; ls`
produces
    AUTOEXEC.BAT AUTOEXEC.DOS BOOTLOG.PRV BOOTLOG.TXT BOOTSECT.DOS ...
notice there's no "/c".

The problem doesn't occur if I use UNIX style paths for the cd, i.e. echo
`cd /c; ls` works as expected.

The obvious answer is to stop using DOS style paths with cygwin cd's.
Unfortunately, what I'm really doing is "cd $SRC_PATH" where SRC_PATH is
"W:/src".  SRC_PATH must be a DOS style path to keep javac and other
windows-based software happy (they can't grok paths without drive letters).
Another workaround is to unset CDPATH in each script.

I can't find the cygwin bash source code, so I'm unable to poke around on my
own.  Is there a common place the cygwin application sources are kept, e.g.
bash, textutils, fileutils, etc?

----------------------------------------------------------------------------
------------------
Here's my config:

/home/erik 586> cygcheck -s -r -v

Cygnus Win95/NT Configuration Diagnostics
Current System Time: Tue Sep 26 10:28:30 2000

WinNT Ver 5.0 build 2195 Service Pack 1

Path:   /usr/local/bin
        /usr/bin
        /usr/bin
        /d/gsj31/bin
        /d/WINNT/system32
        /d/WINNT
        /d/WINNT/System32/Wbem
        /d/vim/vim57
        /w/bin
        /w/src/bin
        /w/3rd-party/NT
        /e/pipeline/build/bin
        .

SysDir: D:\WINNT\System32
WinDir: D:\WINNT

HOME = `/home/erik'
MAKE_MODE = `unix'
PWD = `/home/erik'
USER = `erik sean nolte'

!D: = `D:\cygwin\bin'
ALLUSERSPROFILE = `D:\Documents and Settings\All Users'
APPDATA = `D:\Documents and Settings\Erik Sean Nolte\Application Data'
BLASTER = `A220 I5 D1 T4 '
CDPATH =
`.:/w//src/com/pipeline:/w/:/w//src:/w//docs:/w//src/html:/w//src/com/p
ipeline/CVS:/w//src/com/pipeline/Makefile:/w//src/com/pipeline/abm:/w//src/c
om/p
ipeline/ad:/w//src/com/pipeline/addrbk:/w//src/com/pipeline/admin:/w//src/co
m/pi
peline/aio:/w//src/com/pipeline/alert:/w//src/com/pipeline/applications:/w//
src/
com/pipeline/awt:/w//src/com/pipeline/bom:/w//src/com/pipeline/build.mak:/w/
/src
/com/pipeline/cad:/w//src/com/pipeline/campus:/w//src/com/pipeline/collabora
tion
:/w//src/com/pipeline/content:/w//src/com/pipeline/core:/w//src/com/pipeline
/cpt
ool:/w//src/com/pipeline/criteria:/w//src/com/pipeline/db:/w//src/com/pipeli
ne/d
c:/w//src/com/pipeline/devonly:/w//src/com/pipeline/diagnostics:/w//src/com/
pipe
line/doctemplate:/w//src/com/pipeline/ds:/w//src/com/pipeline/dxp:/w//src/co
m/pi
peline/email:/w//src/com/pipeline/error:/w//src/com/pipeline/extsys:/w//src/
com/
pipeline/framework:/w//src/com/pipeline/gist:/w//src/com/pipeline/install:/w
//sr
c/com/pipeline/io:/w//src/com/pipeline/jndi:/w//src/com/pipeline/lang:/w//sr
c/co
m/pipeline/log:/w//src/com/pipeline/messageboard:/w//src/com/pipeline/migrat
ion:
/w//src/com/pipeline/mypipe:/w//src/com/pipeline/naming:/w//src/com/pipeline
/net
:/w//src/com/pipeline/oid:/w//src/com/pipeline/performance:/w//src/com/pipel
ine/
portal:/w//src/com/pipeline/schoolsvc:/w//src/com/pipeline/sctip:/w//src/com
/pip
eline/sdk:/w//src/com/pipeline/security:/w//src/com/pipeline/support:/w//src
/com
/pipeline/system:/w//src/com/pipeline/test:/w//src/com/pipeline/testold:/w//
src/
com/pipeline/tools:/w//src/com/pipeline/topnav:/w//src/com/pipeline/util:/w/
/src
/com/pipeline/web:/w//src/com/pipeline/webad:/w//src/com/pipeline/webutils:/
w//s
rc/com/pipeline/woo:/w//src/com/pipeline/xml'
COMMONPROGRAMFILES = `D:\Program Files\Common Files'
COMPUTERNAME = `C1144585-A'
COMSPEC = `D:\WINNT\system32\cmd.exe'
CP_DOC_ROOT = `d:/Netscape/SuiteSpot/docs'
CP_ROOT = `w:/'
CP_WEB_ROOT = `d:/Netscape/SuiteSpot'
GEMSTONE = `D:\gsj31'
HOMEDRIVE = `D:'
HOMEPATH = `\'
HOST = `c1144585-a'
HOSTNAME = `C1144585-A'
HOSTTYPE = `i586'
LOGONSERVER = `\\C1144585-A'
MACHTYPE = `i586-pc-cygwin'
NUMBER_OF_PROCESSORS = `1'
OLDPWD = `/f/cygwin/src/winsup'
OS2LIBPATH = `D:\WINNT\system32\os2\dll;'
OS = `Windows_NT'
OSTYPE = `cygwin'
PATHEXT = `.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH'
PROCESSOR_ARCHITECTURE = `x86'
PROCESSOR_IDENTIFIER = `x86 Family 6 Model 5 Stepping 2, GenuineIntel'
PROCESSOR_LEVEL = `6'
PROCESSOR_REVISION = `0502'
PROGRAMFILES = `D:\Program Files'
PROMPT = `$P$G'
PS1 = `$PWD \!> '
SHELL = `/bin/sh'
SHLVL = `1'
SUN_JVM = `d:/jdk1.2.2/bin/java'
SYSTEMDRIVE = `D:'
SYSTEMROOT = `D:\WINNT'
TEMP = `/d/DOCUME~1/ERIKSE~1/LOCALS~1/Temp'
TERM = `cygwin'
USERDOMAIN = `C1144585-A'
USERNAME = `Erik Sean Nolte'
USERPROFILE = `D:\Documents and Settings\Erik Sean Nolte'
VIM = `D:\vim\vim57'
WINDIR = `D:\WINNT'
_ = `/usr/bin/cygcheck'
TZ = `MST7MDT6,M4.1.0/2,M10.5.0/2'

HKEY_CURRENT_USER\Software\Cygnus Solutions
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2
  (default) = `/cygdrive'
  cygdrive flags = 0x00000020
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/
  (default) = `D:/cygwin'
  flags = 0x00000002
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/c
  (default) = `c:'
  flags = 0x00000000
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/d
  (default) = `d:'
  flags = 0x00000000
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/f
  (default) = `f:'
  flags = 0x00000000
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
  (default) = `D:/cygwin/bin'
  flags = 0x00000002
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
  (default) = `D:/cygwin/lib'
  flags = 0x00000002
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\mounts v2\/w
  (default) = `w:'
  flags = 0x00000000
HKEY_CURRENT_USER\Software\Cygnus Solutions\Cygwin\Program Options
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\00
  (default) = `w:'
  unix = `/w'
  fbinary = 0x00000000
  fsilent = 0x00000000
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\01
  (default) = `D:'
  unix = `/'
  fbinary = 0x00000000
  fsilent = 0x00000000
HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\MenuOrd
er\S
tart Menu\Programs\Cygnus Solutions
  (default) = (unsupported type)
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\00
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\01
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\02
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\03
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\04
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\05
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\06
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\07
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\08
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\09
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\0A
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\0B
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\0C
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\0D
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\0E
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\0F
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\10
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\11
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\12
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\13
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\14
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\15
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\16
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\17
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\18
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\19
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\1A
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\1B
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\1C
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\CYGWIN.DLL
setup\b15.0\mounts\1D
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\GNUPro
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\GNUPro\i586-cygwin32

a:  fd           N/A    N/A
c:  hd  FAT32   6748Mb  11% CP    UN
d:  hd  NTFS    7051Mb  51% CP CS UN PA FC
e:  fd           N/A    N/A
f:  hd  FAT32   1000Mb  85% CP    UN           DATA
g:  cd           N/A    N/A
h:  cd           N/A    N/A
w:  hd  NTFS    7051Mb  51% CP CS UN PA FC

D:\cygwin\bin  /usr/bin  user    binmode
D:\cygwin\lib  /usr/lib  user    binmode
D:\cygwin  /        user    binmode
c:    /c       user    textmode
d:    /d       user    textmode
f:    /f       user    textmode
w:    /w       user    textmode

Found: D:\cygwin\bin\bash.exe
Found: D:\cygwin\bin\cat.exe
Found: w:\3rd-party\NT\cpp.exe
Found: D:\cygwin\bin\find.exe
Not Found: gcc
Not Found: gdb
Found: D:\cygwin\bin\ld.exe
Found: D:\cygwin\bin\ls.exe
Found: D:\cygwin\bin\make.exe
Found: D:\cygwin\bin\sh.exe

  586k 2000/08/04 D:\cygwin\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
                  "cygwin1.dll" v0.0 ts=2000/8/3 18:53
    Cygwin DLL version info:
        dll major: 1001
        dll minor: 4
        dll epoch: 19
        dll bad signal mask: 19005
        dll old termios: 5
        api major: 0
        api minor: 26
        shared data: 3
        dll identifier: cygwin1
        mount registry: 2
        cygnus registry name: Cygnus Solutions
        cygwin registry name: Cygwin
        program options name: Program Options
        cygwin mount registry name: mounts v2
        build date: Thu Aug 3 20:53:46 EDT 2000
        CVS tag: cygwin-1-1-4
        shared id: cygwin1S3

Use -h to see help about each section


--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com


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