except, your grep -v portion will always return a result so $? will also always return 0. even if your grep banana did not find anything.
the reversing the greps will be my new default behavior
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`.