Mail Archives: cygwin/1999/08/04/10:52:37
------_=_NextPart_001_01BEDE87.3A17A272
Content-Type: text/plain;
charset="iso-8859-1"
My uname -a says:
CYGWIN_NT-4.0 MYPC 21.0 (0.8/1/1) 1998-12-30 20:29:58 i686 unknown
When I type:
$ cat
abcd<ctrl-d>
Bash prompts:
abcd$
But as soon as I type a character (x) this happens:
abcd$ abcdx
IOW, bash (or readline) is using c-d as a way of copying the line to the
keyboard buffer; or *not clearing it out*. Then when the next key is pressed
the earlier text reappears!
W. Terry Lincoln - Senior Engineer \ \ _ /
Ultimate Technology Corporation \ \ |J| /
a Tridex Company (NASDAQ:trdx) \ _|E|_
ICQ# 39362285 \ |_ S _|
Email: WTerryLincoln AT engineer DOT com \ |U|
WWW1: www.AngelFire.com/ny/TerryLincoln \ / |S| \
WWW2: <http://terrylincoln.isonfire.com> \ | |
================================================ ~~~~~
Opinions expressed do not represent the management of UTC.
> -----Original Message-----
> From: tien ho [mailto:h_tien AT hotmail DOT com]
> Sent: Tuesday, August 03, 1999 9:11 AM
> To: cygwin AT sourceware DOT cygnus DOT com
> Subject: ctl-d, bash and java
>
>
> Hi everybody,
> I'm a newbie in bash. I'm testing some examples of javacc.
> I'm using cygwin
> b20.1 (bash and make) on NT4.0, SP4, english version and jdk
> 1.2 to test
> javacc simple examples. I do need EOF (ctl-d) to shows the results.
> Ctl-d is using to stop the cat in the command cat>myfile. It
> works fine in
> cygwin.
>
> The behaviour of bash on ctl-d is quite special (nothing set
> in IGNOREEOF).
> If I'm right, it was defined the following:
> If ctl-d is the first character, then it returns EOF, else delete the
> character under the cursor.
>
> To test it:
> I type the command abcd<ctl-d>, I will received the following message:
> bash: abcd: command not found
> If ctl-d is the first character, bash disappears.
>
> To test with java, I wrote a very simple test program, which
> calls the
> function System.in.read(b[]). Following is the code:
> public class sysIn {
> public static void main (String args[]) {
> int i;
> byte b[]= new byte[256];
> try
> {
> i = System.in.read(b);
> }
> catch (IOException ioEx)
> {
> System.err.println(ioEx);
> return;
> }
> System.out.println(i);
> for (int j=0; j < i; j++)
> System.out.print(b[j]+" ");
> System.out.println();
> }
> }
>
> It displays 1 13 (code of ctl-d), when ctl-d is keyed.
> Bash disappers, when "abcd<ctl-d>" were keyed. How can I explain it?
>
> How it reacts with fgets()?
> #include <stdio.h>
> int main(int argc, char** argv)
> {
> char s[256];
> if (fgets(s,256, stdin ))
> {
> printf("\nlen: %i\n", strlen(s));
> printf("text: %s\n", s);
> }
> else
> printf("\nempty\n");
> return (1);
> }
> When I start the test and gave abcd<ctl-d>, I recieved:
> len: 4
> text: abcd
> bash-2.02$
> I gave <ENTER>, bash treats the command abcd and returns
> bash: abcd: command not found
>
> How can I changed the behaviour of bash, so that I can
> received ctl-d key
> stroke and input buffer will be flushed?
>
> Thank you for helps
> Tien
>
>
> ______________________________________________________
> Get Your Private, Free Email at http://www.hotmail.com
>
> --
> Want to unsubscribe from this list?
> Send a message to cygwin-unsubscribe AT sourceware DOT cygnus DOT com
>
------_=_NextPart_001_01BEDE87.3A17A272
Content-Type: text/html;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<HTML>
<HEAD>
<META HTTP-EQUIV=3D"Content-Type" CONTENT=3D"text/html; =
charset=3Diso-8859-1">
<META NAME=3D"Generator" CONTENT=3D"MS Exchange Server version =
5.5.2448.0">
<TITLE>RE: ctl-d, bash and java</TITLE>
</HEAD>
<BODY>
<P><FONT SIZE=3D2>My uname -a says:</FONT>
</P>
<P><FONT SIZE=3D2>CYGWIN_NT-4.0 MYPC 21.0 (0.8/1/1) 1998-12-30 20:29:58 =
i686 unknown</FONT>
</P>
<P><FONT SIZE=3D2>When I type:</FONT>
</P>
<P><FONT SIZE=3D2>$ cat</FONT>
<BR><FONT SIZE=3D2>abcd<ctrl-d></FONT>
</P>
<P><FONT SIZE=3D2>Bash prompts:</FONT>
<BR><FONT SIZE=3D2>abcd$ </FONT>
</P>
<P><FONT SIZE=3D2>But as soon as I type a character (x) this =
happens:</FONT>
</P>
<P><FONT SIZE=3D2>abcd$ abcdx</FONT>
</P>
<P><FONT SIZE=3D2>IOW, bash (or readline) is using c-d as a way of =
copying the line to the keyboard buffer; or *not clearing it out*. Then =
when the next key is pressed the earlier text reappears!</FONT></P>
<BR>
<P><FONT SIZE=3D2>W. Terry Lincoln - Senior =
Engineer \ =
\ _ /</FONT>
<BR><FONT SIZE=3D2>Ultimate Technology =
Corporation =
\ \ |J| /</FONT>
<BR><FONT SIZE=3D2>a Tridex Company =
(NASDAQ:trdx)  =
; \ _|E|_</FONT>
<BR><FONT SIZE=3D2>ICQ# =
39362285 &nbs=
p; &nbs=
p; \ |_ S =
_|</FONT>
<BR><FONT SIZE=3D2>Email: =
WTerryLincoln AT engineer DOT com &nbs=
p; \ |U|</FONT>
<BR><FONT SIZE=3D2>WWW1: =
www.AngelFire.com/ny/TerryLincoln \ / |S| =
\</FONT>
<BR><FONT SIZE=3D2>WWW2: <<A =
HREF=3D"http://terrylincoln.isonfire.com" =
TARGET=3D"_blank">http://terrylincoln.isonfire.com</A>> &n=
bsp; \ | |</FONT>
<BR><FONT =
SIZE=3D2>=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=
=3D=3D=3D ~~~~~</FONT>
<BR><FONT SIZE=3D2>Opinions expressed do not represent the management =
of UTC.</FONT>
<BR><FONT SIZE=3D2>> -----Original Message-----</FONT>
<BR><FONT SIZE=3D2>> From: tien ho [<A =
HREF=3D"mailto:h_tien AT hotmail DOT com">mailto:h_tien AT hotmail DOT com</A>]</FONT>=
<BR><FONT SIZE=3D2>> Sent: Tuesday, August 03, 1999 9:11 AM</FONT>
<BR><FONT SIZE=3D2>> To: cygwin AT sourceware DOT cygnus DOT com</FONT>
<BR><FONT SIZE=3D2>> Subject: ctl-d, bash and java</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> Hi everybody,</FONT>
<BR><FONT SIZE=3D2>> I'm a newbie in bash. I'm testing some examples =
of javacc. </FONT>
<BR><FONT SIZE=3D2>> I'm using cygwin </FONT>
<BR><FONT SIZE=3D2>> b20.1 (bash and make) on NT4.0, SP4, english =
version and jdk </FONT>
<BR><FONT SIZE=3D2>> 1.2 to test </FONT>
<BR><FONT SIZE=3D2>> javacc simple examples. I do need EOF (ctl-d) =
to shows the results.</FONT>
<BR><FONT SIZE=3D2>> Ctl-d is using to stop the cat in the command =
cat>myfile. It </FONT>
<BR><FONT SIZE=3D2>> works fine in </FONT>
<BR><FONT SIZE=3D2>> cygwin.</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> The behaviour of bash on ctl-d is quite special =
(nothing set </FONT>
<BR><FONT SIZE=3D2>> in IGNOREEOF). </FONT>
<BR><FONT SIZE=3D2>> If I'm right, it was defined the =
following:</FONT>
<BR><FONT SIZE=3D2>> If ctl-d is the first character, then it =
returns EOF, else delete the </FONT>
<BR><FONT SIZE=3D2>> character under the cursor.</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> To test it:</FONT>
<BR><FONT SIZE=3D2>> I type the command abcd<ctl-d>, I will =
received the following message:</FONT>
<BR><FONT SIZE=3D2>> bash: abcd: command not found</FONT>
<BR><FONT SIZE=3D2>> If ctl-d is the first character, bash =
disappears.</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> To test with java, I wrote a very simple test =
program, which </FONT>
<BR><FONT SIZE=3D2>> calls the </FONT>
<BR><FONT SIZE=3D2>> function System.in.read(b[]). Following is the =
code:</FONT>
<BR><FONT SIZE=3D2>> public class sysIn {</FONT>
<BR><FONT SIZE=3D2>> public static void main =
(String args[]) {</FONT>
<BR><FONT SIZE=3D2>> int =
i;</FONT>
<BR><FONT SIZE=3D2>> byte b[]=3D =
new byte[256];</FONT>
<BR><FONT SIZE=3D2>> try</FONT>
<BR><FONT SIZE=3D2>> {</FONT>
<BR><FONT SIZE=3D2>> =
i =3D System.in.read(b);</FONT>
<BR><FONT SIZE=3D2>> }</FONT>
<BR><FONT SIZE=3D2>> catch =
(IOException ioEx)</FONT>
<BR><FONT SIZE=3D2>> {</FONT>
<BR><FONT SIZE=3D2>> =
System.err.println(ioEx);</FONT>
<BR><FONT SIZE=3D2>> =
return;</FONT>
<BR><FONT SIZE=3D2>> }</FONT>
<BR><FONT SIZE=3D2>> =
System.out.println(i);</FONT>
<BR><FONT SIZE=3D2>> for (int =
j=3D0; j < i; j++)</FONT>
<BR><FONT SIZE=3D2>> =
System.out.print(b[j]+" ");</FONT>
<BR><FONT SIZE=3D2>> =
System.out.println();</FONT>
<BR><FONT SIZE=3D2>> }</FONT>
<BR><FONT SIZE=3D2>> }</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> It displays 1 13 (code of ctl-d), when ctl-d is =
keyed.</FONT>
<BR><FONT SIZE=3D2>> Bash disappers, when =
"abcd<ctl-d>" were keyed. How can I explain it?</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> How it reacts with fgets()?</FONT>
<BR><FONT SIZE=3D2>> #include <stdio.h></FONT>
<BR><FONT SIZE=3D2>> int main(int argc, char** argv)</FONT>
<BR><FONT SIZE=3D2>> {</FONT>
<BR><FONT SIZE=3D2>> char s[256];</FONT>
<BR><FONT SIZE=3D2>> if (fgets(s,256, stdin ))</FONT>
<BR><FONT SIZE=3D2>> {</FONT>
<BR><FONT SIZE=3D2>> printf("\nlen: =
%i\n", strlen(s));</FONT>
<BR><FONT SIZE=3D2>> printf("text: =
%s\n", s);</FONT>
<BR><FONT SIZE=3D2>> }</FONT>
<BR><FONT SIZE=3D2>> else</FONT>
<BR><FONT SIZE=3D2>> =
printf("\nempty\n");</FONT>
<BR><FONT SIZE=3D2>> return (1);</FONT>
<BR><FONT SIZE=3D2>> }</FONT>
<BR><FONT SIZE=3D2>> When I start the test and gave =
abcd<ctl-d>, I recieved:</FONT>
<BR><FONT SIZE=3D2>> len: 4</FONT>
<BR><FONT SIZE=3D2>> text: abcd</FONT>
<BR><FONT SIZE=3D2>> bash-2.02$</FONT>
<BR><FONT SIZE=3D2>> I gave <ENTER>, bash treats the command =
abcd and returns</FONT>
<BR><FONT SIZE=3D2>> bash: abcd: command not found</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> How can I changed the behaviour of bash, so =
that I can </FONT>
<BR><FONT SIZE=3D2>> received ctl-d key </FONT>
<BR><FONT SIZE=3D2>> stroke and input buffer will be flushed?</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> Thank you for helps</FONT>
<BR><FONT SIZE=3D2>> Tien</FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> =
______________________________________________________</FONT>
<BR><FONT SIZE=3D2>> Get Your Private, Free Email at <A =
HREF=3D"http://www.hotmail.com" =
TARGET=3D"_blank">http://www.hotmail.com</A></FONT>
<BR><FONT SIZE=3D2>> </FONT>
<BR><FONT SIZE=3D2>> --</FONT>
<BR><FONT SIZE=3D2>> Want to unsubscribe from this list?</FONT>
<BR><FONT SIZE=3D2>> Send a message to =
cygwin-unsubscribe AT sourceware DOT cygnus DOT com</FONT>
<BR><FONT SIZE=3D2>> </FONT>
</P>
</BODY>
</HTML>
------_=_NextPart_001_01BEDE87.3A17A272--
- Raw text -