help-bash
[Top][All Lists]
Advanced

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

Re: reading from external command


From: Alex fxmbsw7 Ratchev
Subject: Re: reading from external command
Date: Fri, 1 Apr 2022 01:52:31 +0200

sorry again i try..

bash peng2

pid 14608 exit 4
pid 14609 exit 1
pid 14610 exit 2
pid 14611 exit 3


cat peng2

#!/bin/bash

 p() {
printf $BASHPID\\n >>/tmp/ap
}

>/tmp/ap

 while read -r r ; do
: <( p ; exit $r )
 done < <( p ; printf 1\\n2\\n3\\n ; exit 4 )

 while read -r p ; do
wait $p
printf 'pid %d exit %d\n' $p $?
 done </tmp/ap

rm -f /tmp/ap

On Fri, Apr 1, 2022 at 1:45 AM Alex fxmbsw7 Ratchev <fxmbsw7@gmail.com>
wrote:

> i did
>
> with printf $BASHPID
>
> bye
>
> On Fri, Apr 1, 2022 at 1:41 AM Peng Yu <pengyu.ut@gmail.com> wrote:
>
>> I don't get how to modify the while-loop (with unnamed pipes in the
>> body) to get the exit code in the loop input unnamed pipe. Could you
>> make it clear by showing a working example? Thanks.
>>
>> On 3/31/22, Chet Ramey <chet.ramey@case.edu> wrote:
>> > On 3/30/22 6:32 PM, Peng Yu wrote:
>> >> I am not sure how wait for "$!" would work robustly.
>> >
>> > You have to capture $! before it can be overwritten by another command.
>> For
>> > instance, you can assign it to another variable.
>> >
>> >> In the following example, it can not get the error in the input.
>> >
>> > Because you didn't do that.
>> >
>> > --
>> > ``The lyf so short, the craft so long to lerne.'' - Chaucer
>> >                ``Ars longa, vita brevis'' - Hippocrates
>> > Chet Ramey, UTech, CWRU    chet@case.edu
>> http://tiswww.cwru.edu/~chet/
>> >
>>
>>
>> --
>> Regards,
>> Peng
>>
>>


reply via email to

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