Why doesn't this work?

Dirk Fieldhouse fieldhouse@logica.com
Tue Aug 31 23:49:00 GMT 1999

On Thu, 05 Aug 1999 10:20:28 -0400, Tim Taylor <ttaylor@mitre.org> wrote:

>Can anyone tell me why this script always outputs "fail"?
>=========== beginning of script ============
>#! /bin/sh
>if echo line2 from branch1 | cmp - file1 >/dev/null; then
>  echo pass
>  echo fail
>============= end of script ==============
>The file1 in the above script contains the following >(without the quotes):
>"line2 from branch1\r\n"
>where \r\n is actually 0x0D0A
>The output from my uname command is shown below
>bash-2.02$ uname -a
>CYGWIN_NT-4.0 TAYLOR-NT 21.0 (0.8/1/2) 1999-1-18 00:09:41 >i686 unknown
>When I try running cmp from the command line using:
>bash-2.02$ cmp - file1<ENTER>
>line2 from branch1<CTL-D>
>I get the following error message:
>cmp: EOF on -
>appearing on the same line as the text I typed.  Then I >get the bash prompt.  As soon as I type a key, bash >outputs the text I typed (line2 from branch1) followed by
>the new key.

FWIW Here's my output:

BASH.EXE-2.01$ pwd
BASH.EXE-2.01$ echo line2 from branch1>file1
BASH.EXE-2.01$ cat file1
line2 from branch1
BASH.EXE-2.01$ sh
$ echo line2 from branch1§
line2 from branch1§
$ if echo line2 from branch1 | cmp - file1 >/dev/null; then
>   echo pass
> else
>   echo fail
> fi
$ od -x file1
0000000 696c 656e 2032 7266 6d6f 6220 6172 636e
0000020 3168 0a0d
$ uname -a
CYGWIN_95-4.0 TOSH-SAN 21.0 (0.8/1/1) 1999-1-16 00:09:28 i586 unknown

Same result under bash. I suspect a text/binary issue. My /usr is mounted text!=binary.

What happens if you use diff --text [--ignore-blank-lines ¦ --ignore-space-change] instead ?

Dirk Fieldhouse                 Logica UK Limited
fieldhouse@logica.com           75 Hampstead Road
c=gb;a=attmail;p=logica;        London NW1 2PL
o=LOGICA;ou1=UK;s=fieldhouse    UK
+44 (171) 637 9111

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

More information about the Cygwin mailing list