Failed version no longer terminates without output

Existing code relied on a nonzero return from grep, but `set -e`
means the whole script terminates in that case.