This is really clever... I usually ended up with adding
| grep -v grep
like in ps auxww | grep banana | grep -v grep | grep -v grep
like in ps auxww | grep banana | grep -v grep(Also @thewakalix made a good suggestion to reverse the greps.)
the reversing the greps will be my new default behavior
$ printf 'banana\ngrep banana\n' | grep banana | grep -v grep
banana
$ echo $?
0
$ printf 'grep banana\n' | grep banana | grep -v grep
$ echo $?
1
To clarify my previous comment, `grep -v grep` exits with 0 if there was a line without "grep" in the output of `grep banana`.ps auxwww | grep banana | grep -v grep && echo ${PIPESTATUS[1]}
type of thing