bug-bash
[Top][All Lists]
Advanced

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

Re: ``read -N n -t timeout'' saves partial input only when EOF is seen?


From: Clark Wang
Subject: Re: ``read -N n -t timeout'' saves partial input only when EOF is seen?
Date: Fri, 25 Nov 2016 11:32:00 +0800

On Fri, Nov 25, 2016 at 7:05 AM, L A Walsh <address@hidden> wrote:


isabella parakiss wrote:
that's not true https://gist.github.com/fa4efd90376ff2714901e4429fdee734
read successfully reads the data, but then it's discarded by bash
 
----
   It's discarded by bash because the read doesn't read 10
characters within the time limit.  If you use -N 5, you get
your output.   "-t" says it will timeout and return failure if a
specified number of characters is not read within timeout period.

The manual for -t says:

If read times out, read saves any partial input read into the specified variable name.

-clark


If timeout is exceeded, then return status is > 128:

bash -c '( printf 12345; sleep 2 ) | ( read -t 1 -N 10 v; echo "s=$?, <$v>" )'
s=142, <>

(status is > 128)

 


reply via email to

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