bug-gawk
[Top][All Lists]
Advanced

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

Re: How to get the exit code of `command | getline [var]`?


From: Peng Yu
Subject: Re: How to get the exit code of `command | getline [var]`?
Date: Sun, 17 May 2020 00:27:07 -0500

It should be this. I forgot to type file.

while(getline x < file)

On Sat, May 16, 2020 at 11:35 PM david kerns <address@hidden>
wrote:

> what command are you expecting to fail from this case?
>
> while(getline x) {
> ...
> }
>
> like you said, it's a pipe, thus outside the scope of awk (some
> external command)
>
> On Sat, May 16, 2020 at 7:18 PM Peng Yu <address@hidden> wrote:
>
>> But the problem comes for the following usage.
>>
>> while (cmd | getline x) {
>> ...
>> }
>>
>>
>> This works. But it is not clear how to read from a pipe using a while
>> loop.
>>
>> while(getline x) {
>> ...
>> }
>>
>> On 5/16/20, david kerns <address@hidden> wrote:
>> > awk -v tmpfile="$(mktemp -u)" -e 'BEGIN { cmd = "cat " tmpfile; cmd |
>> > getline x; exit_code = close(cmd); print x, exit_code }'
>> >
>> > On Sat, May 16, 2020 at 3:59 PM Peng Yu <address@hidden> wrote:
>> >
>> >> Hi,
>> >>
>> >> There is an error below. But I can not get the error code. Is there a
>> >> way to get the error code? Thanks.
>> >>
>> >> $ awk -v tmpfile="$(mktemp -u)" -e 'BEGIN { exit_code = "cat " tmpfile
>> >> | getline x; print exit_code; print x }'
>> >> cat: /tmp/mktemp/tmp.USzT4D7yJ3: No such file or directory
>> >> 0
>> >>
>> >> --
>> >> Regards,
>> >> Peng
>> >>
>> >>
>> >
>>
>>
>> --
>> Regards,
>> Peng
>>
> --
Regards,
Peng


reply via email to

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