Maybe you should check the Bash changelog on whether this is a new thing
in Bash. I know that in Zsh, for example, this was changed a few years
ago (5 years? I don't remember), and it was also hard for me to get used
to it.
The rationale behind such a change can be that when the shell has a
suphisticated command-line editor, sometimes it needs to know _exactly_
what the current line looks like, because some some changes involve more
than just backspacing over the last few characters. So if you have some
unkown characters like "test" before the prompt, the shell can mess up
the look of the line when it redraws some characters in the wrong place,
so it prefers to overwrite this "test" word. Previously, when you saw such
a mess-up, you had to press control-L for the shell to redraw the entire
line.

Nowadays, whenever I run a program which might output something without
a new line I run it like
        $ ./test; print

By the way, be careful when naming your program "test" - I've seen, more
than once, people spending HOURS on trying to figuring out why their program,
called "test", did not work. Apparently, it printed nothing, and just exited!
Of course, the "solution" is that "test" is a builtin in most shells (for
testing existance of files, and stuff like that), so unless you do something
like ./test, you end up running a builtin test, that for some unknown reason
(at least to me) doesn't print any error when it doesn't have any arguments...

On Wed, May 02, 2001, Shaul Karl wrote about "Anything new with Mandrake 8 and the 
missing line of echo -n test?":
> Just wondering if there is something new about it?
> 
> > We have a program which writes a single line (with no new line) to stdout
> > and quits - this small test program is a good example:
> > ..
> > Now, on a MDK72 and any other well behaving 2.2 distro running this would
> > get you something like this :
> > -------------------------------
> > [user@computer user]$ ./test
> > test[user@computer user]$
> > -------------------------------
> > But on MDK8 I got this :
> > -------------------------------
> > [user@computer user]$ ./test
> > [user@computer user]$
> > -------------------------------
> > ..
> > it seems that the Mandrake 8 default shell - bash 2.04.18 -  sends a
> > carriage return before printing it's prompt - overwriting everything
> > written on the same line, as this revised code shows:
> > ..

-- 
Nadav Har'El                        |     Wednesday, May  2 2001, 9 Iyyar 5761
[EMAIL PROTECTED]             |-----------------------------------------
Phone: +972-53-245868, ICQ 13349191 |Long periods of drought are always
http://nadav.harel.org.il           |followed by rain.

=================================================================
To unsubscribe, send mail to [EMAIL PROTECTED] with
the word "unsubscribe" in the message body, e.g., run the command
echo unsubscribe | mail [EMAIL PROTECTED]

Reply via email to