<html>
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
  </head>
  <body>
    <p>2> starts a new file. 2>> appends to an existing file
      (and creates it if need be). Since the pipe is a single operation
      for the purpose of STDERR redirection, 2> ensures that the file
      is empty when first written to.</p>
    <p>I suppose you could call a function after the pipe with
      redirection, passing it the exit status ($?) and error file
      (/tmp/pipe-$$.err). If the function returns, then things were OK.
      Something bad causes function to exit script with error code.</p>
    <p>Leonard</p>
    <p><br>
    </p>
    <div class="moz-cite-prefix">On 7/22/2023 7:22 PM, John Carlson
      wrote:<br>
    </div>
    <blockquote type="cite"
cite="mid:CAGC3UE=eeuPFFEm9jb+kiLiYCs-KiPoP5QD0XiV5KcJWEwXxJg@mail.gmail.com">
      <meta http-equiv="content-type" content="text/html; charset=UTF-8">
      <div dir="auto">Thanks Leonard, i was hoping to use a function
        because i have a whole list of pipelines to run in my script.</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">Something like:</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">catcher “oops” (sed ‘s/ //‘ | tr “\n” “ “ | ….)</div>
      <div dir="auto">catcher…</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">I don’t want a script for catcher.  If a function
        won’t suffice, a preprocessor will.</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">You probably want 2>> instead of 2> but
        I’m willing to hear your reasoning.</div>
      <div dir="auto"><br>
      </div>
      <div dir="auto">Thanks for your help!</div>
      <div><br>
        <div class="gmail_quote">
          <div dir="ltr" class="gmail_attr">On Sat, Jul 22, 2023 at 9:01
            PM Leonard Daly <<a
              href="mailto:Leonard.Daly@realism.com"
              moz-do-not-send="true" class="moz-txt-link-freetext">Leonard.Daly@realism.com</a>>
            wrote:<br>
          </div>
          <blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left-width:1px;border-left-style:solid;padding-left:1ex;border-left-color:rgb(204,204,204)">
            <div>
              <p>Not sure why you would want a script as this is almost
                always done in-line.</p>
              <p>$? contains the exit status. 0 is almost always success
                (I don't know where it is not) and != 0 is failure.
                Error message is written to STDERR unless you direct a
                command to fail silently.</p>
              <p>So something like<br>
              </p>
              <pre style="font-family:monospace"><font style="font-family:monospace;color:rgb(0,0,0)" face="monospace">(A | B | C ...) 2> /tmp/pipe-$$.err
if [ $? -ne 0 ]
then
  exitCode=$?
  cat /tmp/pipe-$$.err
  exit $exitCode
fi</font></pre>
              <p>Passing the piped command to a function can be
                dangerous/difficult because of shell interpolation and
                quoting. Also note that the piped output (STDOUT) is
                printed on the default (at the time of the pipe) output
                (probably console), and pipe-$$.err is never cleaned up
                (deleted). That is not really bad because most systems
                delete files after 24-48 hours in /tmp. If there are no
                errors, then /tmp/pipe-$$.err is never created.<br>
              </p>
              <p>Additional useful info:
                <a
href="https://unix.stackexchange.com/questions/164482/pipe-redirect-a-group-of-commands"
                  target="_blank" moz-do-not-send="true"
                  class="moz-txt-link-freetext">https://unix.stackexchange.com/questions/164482/pipe-redirect-a-group-of-commands</a></p>
              <p>Leonard Daly<br>
              </p>
            </div>
            <div>
              <p><br>
              </p>
              <p><br>
              </p>
              <div>On 7/21/2023 10:15 PM, John Carlson wrote:<br>
              </div>
            </div>
            <div>
              <blockquote type="cite"> Linux folks:
                <div dir="auto"><br>
                </div>
                <div dir="auto">Does anyone have a bash function (not a
                  separate script) to check the exit status of the
                  passed in  pipeline or passed in exit status, print
                  out the passed in error message, and exit the script
                  if the exit status indicates failure?</div>
                <div dir="auto"><br>
                </div>
                <div dir="auto">Thanks!</div>
                <div dir="auto"><br>
                </div>
                <div dir="auto">Should be fairly easy to write?</div>
                <div dir="auto"><br>
                </div>
                <div dir="auto">John </div>
                <br>
                <fieldset></fieldset>
              </blockquote>
            </div>
            <div>
              <blockquote type="cite">
                <pre style="font-family:monospace">_______________________________________________
x3d-public mailing list
<a href="mailto:x3d-public@web3d.org" target="_blank" style="font-family:monospace" moz-do-not-send="true" class="moz-txt-link-freetext">x3d-public@web3d.org</a>
<a href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org" target="_blank" style="font-family:monospace" moz-do-not-send="true" class="moz-txt-link-freetext">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
              </blockquote>
            </div>
            <div>
              <blockquote type="cite"> </blockquote>
              <div>-- <br>
                <b>Leonard Daly</b><br>
                3D Systems Engineering<br>
                President, Daly Realism - <i>Creating the Future</i><br>
              </div>
            </div>
            _______________________________________________<br>
            x3d-public mailing list<br>
            <a href="mailto:x3d-public@web3d.org" target="_blank"
              moz-do-not-send="true" class="moz-txt-link-freetext">x3d-public@web3d.org</a><br>
            <a
              href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org"
              rel="noreferrer" target="_blank" moz-do-not-send="true"
              class="moz-txt-link-freetext">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a><br>
          </blockquote>
        </div>
      </div>
      <br>
      <fieldset class="moz-mime-attachment-header"></fieldset>
      <pre class="moz-quote-pre" wrap="">_______________________________________________
x3d-public mailing list
<a class="moz-txt-link-abbreviated" href="mailto:x3d-public@web3d.org">x3d-public@web3d.org</a>
<a class="moz-txt-link-freetext" href="http://web3d.org/mailman/listinfo/x3d-public_web3d.org">http://web3d.org/mailman/listinfo/x3d-public_web3d.org</a>
</pre>
    </blockquote>
    <div class="moz-signature">-- <br>
      <b>Leonard Daly</b><br>
      3D Systems Engineering<br>
      President, Daly Realism - <i>Creating the Future</i><br>
    </div>
  </body>
</html>