Read more

Bash: Find out the exit codes of all piped commands

Claus-Theodor Riegg
September 15, 2015Software engineer at makandra GmbH

Bash stores the exitcodestatus of piped commands in the environment variable PIPESTATUS

Illustration UI/UX Design

UI/UX Design by makandra brand

We make sure that your target audience has the best possible experience with your digital product. You get:

  • Design tailored to your audience
  • Proven processes customized to your needs
  • An expert team of experienced designers
Read more Show archive.org snapshot

So you can just echo ${PIPESTATUS[@]} to get them all.

13:52:30 ✔ claus:~$ ps ax | grep /usr/bin/ruby
13205 pts/20   S+     0:00 grep --color=auto /usr/bin/ruby


13:52:43 ✔ claus:~$ echo ${PIPESTATUS[@]}
0 0

PIPESTATUS is an array, so you can get the exitcode of an specific command (first pipe):

13:54:20 ✔ claus:~$ echo ${PIPESTATUS[1]}
0
Posted by Claus-Theodor Riegg to makandra Operations (2015-09-15 13:50)