Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 27 Sep 1997 16:42:50 +0200
From:      j@uriah.heep.sax.de (J Wunsch)
To:        hackers@FreeBSD.ORG
Subject:   Re: Timeout for sh(1) 'read' ??
Message-ID:  <19970927164250.YQ59393@uriah.heep.sax.de>
In-Reply-To: <19970927163558.WP09379@uriah.heep.sax.de>; from J Wunsch on Sep 27, 1997 16:35:58 %2B0200
References:  <199709260748.RAA00456@word.smith.net.au> <19970927163558.WP09379@uriah.heep.sax.de>

next in thread | previous in thread | raw e-mail | index | archive | help
I wrote:

>               TMOUT  If  set  to a value greater than zero, TMOUT
>                      will be the default timeout  value  for  the
>                      read  built-in command.  The select compound
>                      command terminates after TMOUT seconds  when
>                      input  is  from  a terminal.  Otherwise, the
>                      shell  will  terminate  if  a  line  is  not
>                      entered within the prescribed number of sec-
>                      onds while reading from a  terminal.

NB: pdksh only implements the last of the three features (at least my
version)...

>        read [  -Aprs  ]  [  -d  delim]  [  -t  timeout]  [  -u
>               unit]  [ vname?prompt ] [ vname ... ]

...nor does it support -t timeout.

Adding -t timeout seems to be the best way to me.  ${TMOUT} is just
confusing given the multitude of things it's going to do.

Btw., if you're going to do this, please do also implement -r.  It
seems to be mandated by Posix.2:

 By default, unless the -r option is specified, backslash (\) shall act as
 an escape character, as described in 3.2.1.

<snip>

 3.2.1  Escape Character (Backslash)

 A backslash that is not quoted shall preserve the literal value of the
 following character, with the exception of a <newline>.  If a <newline>
 follows the backslash, the shell shall interpret this as line
 continuation.  The backslash and <newline> shall be removed before
 splitting the input into tokens.

(That is, the backslash should act like ^V.)

-- 
cheers, J"org

joerg_wunsch@uriah.heep.sax.de -- http://www.sax.de/~joerg/ -- NIC: JW11-RIPE
Never trust an operating system you don't have sources for. ;-)



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?19970927164250.YQ59393>