Bash bug on continuation lines with CRLF?

Morten Eriksen mortene@sim.no
Mon Oct 9 03:36:00 GMT 2000


Hi,

I think I've found a bug with CRLF handling, this time in the bash
shell port: "continuation lines" in shell scripts (i.e. command
arguments ending with a "\" character to be continued on the next line
in the script) causes parse errors.

Here's a simple script for reproducing what I believe is a bug (using
^M to signify ASCII character \015):

-->8-[cut here]-->8--->8--->8--->8--->8--->8--->8-

#!/bin/bash^M
^M
echo "foo" "bar"^M
^M
echo "foo" \^M
     "bar"^M
^M

-->8-[cut here]-->8--->8--->8--->8--->8--->8--->8-

Running this under cygwin v1.1.4 results in this output:

$ ./test.sh
foo bar
foo
./test.sh: bar: command not found
$ 

Removing the CRs will of course give us:

$ ./test.sh
foo bar
foo bar
$ 


I couldn't find any other reports on this exact problem in the
mailinglist archives, but I might have overlooked it. If so, please be
gentle. :^}

I've attached the output of cygcheck below. Let me know if any other
information is needed.

Regards,
Morten
-- 

Cygnus Win95/NT Configuration Diagnostics
Current System Time: Mon Oct  9 11:54:06 2000

WinNT Ver 4.0 build 1381 Service Pack 6

Path:	/usr/local/bin
	/usr/bin
	/usr/bin
	/Emacs-20.6/bin
	/Perl/bin/
	/WINNT/system32
	/WINNT
	/Program Files/SIM/SoQt Coin SDK/bin
	/compile/coin/build/Release
	/compile/coin/build/Debug
	/compile/soqt/build/Release
	/compile/soqt/build/Debug
	/Program Files/Microsoft Visual Studio/VC98/bin
	/Program Files/Microsoft Visual Studio/Common/MSDev98/bin
	/usr/local/bin
	/Qt/bin
	/TGS/OIV2.6/Program
	/TGS/OIV2.6/Doc
	/qt/bin
	/usr/bin
	/usr/bin
	/usr/local/bin

SysDir: C:\WINNT\System32
WinDir: C:\WINNT

HOME = `/home'
MAKE_MODE = `unix'
PWD = `/home/compile/simage'
USER = `administrator'

!C: = `C:\bin'
COINDIR = `C:\Program Files\SIM\SoQt Coin SDK'
COMPUTERNAME = `ASK'
COMSPEC = `C:\WINNT\system32\cmd.exe'
CYGPATH = `C:\usr\i686-pc-cygwin'
DISPLAY = `192.168.100.205:0.0'
HISTCONTROL = `ignoredups'
HOMEDRIVE = `C:'
HOMEPATH = `\'
HOSTNAME = `ASK'
HOSTTYPE = `i586'
INCLUDE = `C:\Program Files\Microsoft Visual Studio\VC98\MFC\include;C:\Program Files\Microsoft Visual Studio\VC98\ATL\include;C:\Program Files\Microsoft Visual Studio\VC98\include;C:\usr\local\include;C:\Qt\include;C:\TGS\OIV2.6\include'
LIB = `C:\Program Files\Microsoft Visual Studio\VC98\MFC\lib;C:\Program Files\Microsoft Visual Studio\VC98\ATL\lib;C:\Program Files\Microsoft Visual Studio\VC98\lib;C:\usr\local\lib;C:\Qt\lib;C:\TGS\OIV2.6\lib'
LOGONSERVER = `\\ASK'
MACHTYPE = `i586-pc-cygwin'
MSDEVDIR = `C:\Program Files\Microsoft Visual Studio\Common\MSDev98'
NUMBER_OF_PROCESSORS = `1'
OIVHOME = `C:\TGS\OIV2.6'
OLDPWD = `/home'
OS2LIBPATH = `C:\WINNT\system32\os2\dll;'
OS = `Windows_NT'
OSTYPE = `cygwin'
PATHEXT = `.COM;.EXE;.BAT;.CMD'
PROCESSOR_ARCHITECTURE = `x86'
PROCESSOR_IDENTIFIER = `x86 Family 6 Model 2 Stepping 1, AuthenticAMD'
PROCESSOR_LEVEL = `6'
PROCESSOR_REVISION = `0201'
PROMPT = `$P$G'
PS1 = `\w$ '
QTDIR = `C:\qt'
SHELL = `/bin/sh'
SHLVL = `1'
SYSTEMDRIVE = `C:'
SYSTEMROOT = `C:\WINNT'
TEMP = `/TEMP'
TERM = `cygwin'
USERDOMAIN = `ASK'
USERNAME = `administrator'
USERPROFILE = `C:\WINNT\Profiles\Administrator'
WINDIR = `C:\WINNT'
_ = `/usr/bin/cygcheck'
TZ = `WEST-1WEDT-2,M3.5.0/2,M10.5.0/3'

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\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
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\01
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\02
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\03
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\04
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\05
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\06
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\07
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\08
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\09
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0A
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0B
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0C
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0D
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0E
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\0F
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\10
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\11
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\12
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\13
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\14
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\15
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\16
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\17
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\18
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\19
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1A
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1B
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1C
HKEY_CURRENT_USER\Software\Cygnus Solutions\CYGWIN.DLL setup\b15.0\mounts\1D
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Installed Components
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\Installed Components\C:/
  (default) = `20000517'
  bash = `0002.0004.0001'
  binutils = `19990818.0001'
  bison = `0000'
  byacc = `0000'
  bzip = `0000'
  clear = `0001.0000'
  cygwin = `0001.0001.0001'
  dejagnu = `0000'
  diff = `0000'
  expect = `0000'
  fileutils = `0000'
  findutils = `0000'
  flex = `0000'
  gawk = `0000'
  gcc = `0002.0095.0002.0001'
  gdb = `20000415'
  gperf = `0000'
  grep = `0000'
  groff = `0001.011a.0001'
  gzip = `0000'
  inetutils = `0001.0003.0002.0002'
  less = `0000'
  libpng = `0001.0000.0006.0001'
  login = `0001.0002'
  m = `0000'
  make = `0000'
  man = `0001.005g.0002'
  patch = `0000'
  sed = `0003.0002.0001'
  shellutils = `0000'
  tar = `0000'
  tcltk = `0000'
  termcap = `0002'
  texinfo = `0000'
  textutils = `0000'
  time = `0000'
  zlib = `0001.0001.0003.0001'
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/
  (default) = `C:\'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/bin
  (default) = `C:/bin'
  flags = 0x0000000a
HKEY_LOCAL_MACHINE\SOFTWARE\Cygnus Solutions\Cygwin\mounts v2\/usr/lib
  (default) = `C:/lib'
  flags = 0x0000000a
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

a:  fd           N/A    N/A                    
c:  hd  NTFS    3506Mb  93% CP CS UN PA FC     
d:  cd  CDFS       0Mb -2147483548%    CS              Audio CD

C:\bin  /usr/bin  system  binmode
C:\lib  /usr/lib  system  binmode
C:    /        system  binmode

Found: C:\bin\bash.exe
Found: \bin\bash.exe
Warning: C:\bin\bash.exe hides \bin\bash.exe
Found: C:\bin\cat.exe
Found: \bin\cat.exe
Warning: C:\bin\cat.exe hides \bin\cat.exe
Not Found: cpp (good!)
Found: C:\bin\find.exe
Found: \bin\find.exe
Warning: C:\bin\find.exe hides \bin\find.exe
Not Found: gcc
Not Found: gdb
Found: C:\bin\ld.exe
Found: \bin\ld.exe
Warning: C:\bin\ld.exe hides \bin\ld.exe
Found: C:\bin\ls.exe
Found: \bin\ls.exe
Warning: C:\bin\ls.exe hides \bin\ls.exe
Found: C:\bin\make.exe
Found: \bin\make.exe
Warning: C:\bin\make.exe hides \bin\make.exe
Found: C:\bin\sh.exe
Found: \bin\sh.exe
Warning: C:\bin\sh.exe hides \bin\sh.exe

  586k 2000/08/04 C:\bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
                  "cygwin1.dll" v0.0 ts=2000/8/4 2: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

  586k 2000/08/04 \bin\cygwin1.dll - os=4.0 img=1.0 sys=4.0
                  "cygwin1.dll" v0.0 ts=2000/8/4 2: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



More information about the Cygwin mailing list