title: Prevent grep returning an error when input doesn't match
body: <p>I want to write in a bash script a piece of code that checks if a program is already running.
  I have the following in order to search whether bar is running</p>
  
  <pre><code> foo=`ps -ef | grep bar | grep -v grep`
  </code></pre>
  
  <p>The</p>
  
  <pre><code> grep -v grep
  </code></pre>
  
  <p>part is to ensure that the "grep bar" is not taken into account in ps results</p>
  
  <p>When bar isn't running, foo is correctly empty. But my problem lies in the fact tha the script has</p>
  
  <pre><code> set -e
  </code></pre>
  
  <p>which is a flag to terminate the script if some command returns an error.
  It turns out that when bar isn't running, "grep -v grep" doesn't match with anything and grep returns an error. I tried using -q or -s but to no avail.</p>
  
  <p>Is there any solution to that? Thx</p>