[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why does a Bash shell script write prompts followed by reads and do

From: John McKown
Subject: Re: Why does a Bash shell script write prompts followed by reads and do it right?
Date: Mon, 31 Aug 2015 12:34:18 -0500

Not a bug, so likely the wrong forum.

Have you tried doing a fflush() after the fputs()? I.e. something to tell the Kernel to "write this out immediately!". In the case of write(), I think you need to use the O_SYNC flag in the open() call.

On Mon, Aug 31, 2015 at 11:25 AM, Robert Parker <address@hidden> wrote:
A trivial script example that just works:

# echo a prompt and write the user's response to a file.

echo "Enter variable name: "
read ans
echo "$ans" > tmpfil
echo "Enter variable type: "
read ans
echo "$ans" >> tmpfil
echo "Enter variable default value: "
read ans
echo "$ans" >> tmpfil
echo "Beginning with an assignmment operator"
echo "Enter C code for this option:"
read ans
echo "$ans" >> tmpfil

Yet when I attempt the same in a C program, the system always writes 2 prompts, then waits for a read.
Does not matter if I write(1, "..."); read(0, number, buffer); or use fputs("...", stdout); fgets(.....
The result is the same.
And I have tried using readline without any better result.

I have downloaded the source code for Bash.
Would someone please let me know where to look to learn to make my code work like yours?

Thanks, Bob

The Bundys, Cliven, Ted and Al. Great guys to look up to.


Schrodinger's backup: The condition of any backup is unknown until a restore is attempted.

Yoda of Borg, we are. Futile, resistance is, yes. Assimilated, you will be.

He's about as useful as a wax frying pan.

10 to the 12th power microphones = 1 Megaphone

Maranatha! <><
John McKown

reply via email to

[Prev in Thread] Current Thread [Next in Thread]