title: Guard executes shell scripts twice
body: <p>I setup an example project with the following structure:</p>
  
  <pre><code>Gemfile
  Guardfile
  </code></pre>
  
  <p>The contents of these files are:</p>
  
  <pre><code># Gemfile
  source :rubygems
  gem "guard"
  gem "guard-shell"
  </code></pre>
  
  <p>and</p>
  
  <pre><code># Guardfile
  guard 'shell' do
    watch(/^test\.txt$/) {|m| `echo #{m.inspect} #{File.mtime(m[0])}` }
  end
  </code></pre>
  
  <p>I then continue to run <code>guard</code>. Whenever I echo something into that file, guard registers a change twice. In one shell:</p>
  
  <pre><code>$ echo blah &gt;&gt; test.txt
  </code></pre>
  
  <p>In the shell running guard:</p>
  
  <pre><code>&gt; [test.txt] 2012-06-26 00:40:22 +0200
  &gt; [test.txt] 2012-06-26 00:40:22 +0200
  </code></pre>
  
  <p>The same behaviour accounts for vim/nano etc. Interestingly, when I just run <code>echo blah &gt; test.txt</code>, guard only fires once.</p>
  
  <p>Any idea how I can prevent this from happening or whether this is expected behaviour?</p>
  
  <p>EDIT: Opened up an issue on github: <a href="https://github.com/guard/guard/issues/297#issuecomment-6586266" rel="nofollow">https://github.com/guard/guard/issues/297#issuecomment-6586266</a></p>