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: david kerns
Subject: Re: How to get the exit code of `command | getline [var]`?
Date: Sat, 16 May 2020 21:34:48 -0700

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
>


reply via email to

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