title: Variable notation when running python commands with arguments in a bash script
body: <p>I have a bash script which is running a bunch of python script all with arguments. In order to have a clean code, I wanted to use variables along the scripts</p>
  <pre class="lang-sh prettyprint-override"><code>#!/bin/bash
  START=0
  SCRIPT_PATH=&quot;/opt/scripts/&quot;
  IP=&quot;192.168.1.111&quot;
  
  if [ &quot;$START&quot; = &quot;0&quot; ]; then
      printf &quot;%s: Starting\n&quot; &quot;$DATE_TIME&quot;
  
      PORT=1234
      TEST_FILE=&quot;$SCRIPT_PATH/Test Scripts/test.TXT&quot;
      SCRIPT=&quot;$SCRIPT_PATH/script1.py&quot;
      ARGS=&quot;-P $SCRIPT_PATH/script2.py -n 15 -p $PORT -i $IP&quot;
  
      python &quot;$SCRIPT&quot; ${ARGS} -f &quot;${TEST_FILE}&quot; &gt; ./out.log 2&gt;&amp;1 &amp;
  
  fi
  </code></pre>
  <p>This code is actually working but few things I don't understand :</p>
  <ol>
  <li>Why, if I add quotes around <strong>${ARGS}</strong>, the arguments are not parsed correctly by python ? What would be the best way to write this ?</li>
  <li>What is the best method to add <code>-f &quot;${TEST_FILE}&quot;</code> to the <code>ARGS</code> variable without python blocking on the whitespace and throwing the error: <code>&quot;$SCRIPT_PATH/Test &quot; not found</code></li>
  </ol>