This is the mail archive of the cygwin@sourceware.cygnus.com
mailing list for the Cygwin project. See the Cygwin
home page for more information.
[Date Prev][Date Next][Thread Prev][Thread Next]
[Date Index] [Subject Index] [Author Index] [Thread Index]
Re: sh read mis-handling CR/LF?
- To: Luke Kendall <luke@research.canon.com.au>,"uwin-users@research.att.com" <uwin-users@research.att.com>
- Subject: Re: sh read mis-handling CR/LF?
- From: Bruce Lilly <blilly@erols.com>
- Date: Thu, 11 Feb 1999 15:20:50 -0500
- Delivered-To: listarch-cygwin@sourceware.cygnus.com
- Delivered-To: mailing list cygwin@sourceware.cygnus.com
- Delivered-To: uwin-users@research.att.com
- Mailing-List: contact cygwin-help@sourceware.cygnus.com; run by ezmlm
- Organization: Bruce Lilly
- References: <199902102237.JAA24580@tosh.research.canon.com.au>
- Sender: cygwin-owner@sourceware.cygnus.com
- Sender: owner-uwin-users@research.att.com
> ----------
> From: Bruce Lilly
> Sent: 1999年2月12日 5:20:50
> To: Luke Kendall; uwin-users@research.att.com
> Subject: Re: sh read mis-handling CR/LF?
> Auto forwarded by a Rule
>
Luke Kendall wrote:
>
> This is under Windows NT 4.0 sp4, U/WIN 2.0b1.
>
> Surely the shell's read function should not be opening files
> in binary mode? Surely it should be stripping the CR and LF from
> the end of the input line?
>
> I think the stuff below speaks for itself. Please let me know
> if I'm confused here.
>
> ---- test-here script -----
> #!/bin/sh
> cat <<-'EOF' > test-input
> test-1
> EOF
> read f rest < test-input
> if [ "$f" = "test-1" ]
> then
> echo "Read matches"
> else
> echo "Read mis-match"
> fi
>
> echo "od of input file:"
> od -c test-input
> echo "od of input line re-echoed:"
> echo "$f$rest" | od -c
> ---------- end -----------
OK (you asked for it!) you're confused. You need to eliminate the whitespace
before the "test-1" and "EOF" lines for starters.
Having made that correction and run the script, I get the following output here
(also NT 4.0 SP4 and U/WIN 2.0Beta1, with msvcrt.dll version 6.00.8337.0):
Read matches
od of input file:
0000000 t e s t - 1 ¥n
0000007
od of input line re-echoed:
0000000 t e s t - 1 ¥n
0000007
Note that I/O results may vary with the version of msvcrt.dll on your system, as
I posted a week and a half ago (titled "¥015 before newline").
The version of msvcrt.dll mentioned above is available from
http://www.microsoft.com/ntserver/nts/downloads/recommended/MFCLibrary/default.asp
(it works on NT Server or workstation or non-NT MS-Windows). Microsoft says it
"resolves an issue that can cause some third party software to behave
unexpectedly." And that pretty much sums up your experience.
____________________________________________________________
If you need help unsubscribing or using this list in
general, send mail to owner-uwin-users@research.att.com
To unsubscribe from this list, please send the following
two-line message to majordomo@research.att.com, in which
your_email_address should be replaced by the address you
used when you subscribed to the list:
unsubscribe uwin-users your_email_address
end
--
Want to unsubscribe from this list?
Send a message to cygwin-unsubscribe@sourceware.cygnus.com