title: Bash script to read file line by line with some words quoted and containing spaces
body: <p>I am trying to create a shell script that reads a file with parameters for a python script the shell script is supposed to execute in a loop:</p>
  <pre class="lang-sh prettyprint-override"><code>#!/bin/bash
  while read -r i ; do python catfisher.py $i ; done &lt; fishes
  </code></pre>
  <p>where 'fishes' might contain:</p>
  <pre><code>vesper &quot;purplish green&quot; fender
  vespa &quot;dimmer grey&quot; &quot;stradivarius veil&quot;
  </code></pre>
  <p>The problem is that the python script's argparser interprets the parameters like so:</p>
  <p><code>python purplish green fender</code></p>
  <p>even when echoing $1 in the bash script outputs:
  <code>vesper &quot;purplish green&quot; fender</code></p>
  <p>The python script is fine if run manually:
  <code>python catfisher.py &quot;purplish green&quot; fender</code>
  so I'm assuming it's my lacking bash script skills that are the culprit, rather than my lacking argparser skills but pray advice if I'm mistaken.</p>