Po co opuszczać kod 141 za pomocą grep -q?

Czy ktoś może wyjaśnić, dlaczego otrzymałem kod wyjścia 141 z poniższego?

#!/usr/bin/bash

set -o pipefail

zfs list | grep tank
echo a ${PIPESTATUS[@]}

zfs list | grep -q tank
echo b ${PIPESTATUS[@]}

cat /etc/passwd | grep -q root
echo c ${PIPESTATUS[@]}

dostaję

...
a 0 0
b 141 0
c 0 0

Z mojego rozumienia kod wyjścia 141 jest porażką, ale powyższa linia daje zero, więc powinienem powiedzieć, że to sukces.

questionAnswers(2)

yourAnswerToTheQuestion