[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
>