Date:        Wed, 18 Dec 2019 19:40:45 -0400
    From:        Bize Ma <binaryze...@gmail.com>
    Message-ID:  
<cafra36gnku2dtcyivz+camgntf7gvgjutiwicunbzatcckx...@mail.gmail.com>

  | A little delay seems to get it working:
  |
  | $ echo value | { read -t 0 var; } ; echo $?
  | 0

It might, but that is adding no significant delay, and the
results are unpredictable.

jinx$ echo value | { read -t 0 var; } ; echo $?
0
jinx$ echo value | { read -t 0 var; } ; echo $?
0
jinx$ echo value | { read -t 0 var; } ; echo $?
1
jinx$ echo value | { read -t 0 var; } ; echo $?
1
jinx$ echo value | { read -t 0 var; } ; echo $?
0
jinx$ echo value | { read -t 0 var; } ; echo $?
1
jinx$ echo value | { read -t 0 var; } ; echo $?
1
jinx$ echo value | { read -t 0 var; } ; echo $?
0
jinx$ echo value | { read -t 0 var; } ; echo $?
1
jinx$ echo value | { read -t 0 var; } ; echo $?
0
jinx$ echo value | { read -t 0 var; } ; echo $?
1
jinx$ echo value | { read -t 0 var; } ; echo $?
0

It is all just a race condition - there's nothing specifying which
side of the pipe starts running first.

kre


Reply via email to