bug-bash
[Top][All Lists]
Advanced

[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:

#!/bin/bash
# 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]