title: Standard_in error in bash script
body: <p>I have two bash scripts that are almost identical.  One works and one doesn't and I can't figure out what's going on.  Here are the scripts:</p>
  
  <p>This one works fine:</p>
  
  <pre><code>#!/bin/bash
  
  CURDIR=$HOME/Documents/Development/road/Earthmoving
  TOL=0.05
  
  echo -e "\nRunning Unit Tests"
  echo -e "------------------\n"
  
  for infile in $CURDIR/utest/*.csv
  do
      file=$(basename $infile .csv)
      echo -n " Test $file"
      value=`$CURDIR/Release/earthmove -f $infile`
      res=`cat $CURDIR/utest/$file.res`
      if [ "$(echo "$res+$TOL*$res &gt;= $value &amp;&amp; $res-$TOL*$res &lt;= $value" | bc)" -eq 1 ]; then
      echo -e "\t\t PASSED."
      else
      echo -e "\t\t FAILED."
      fi;
  done
  
  echo ""
  </code></pre>
  
  <p>But this one gives me all kinds of errors:</p>
  
  <pre><code>#!/bin/bash
  
  CURDIR=$HOME/Documents/Development/road/Vertical
  TOL=0.05
  
  echo -e "\nRunning Unit Tests"
  echo -e "------------------\n"
  
  for infile in $CURDIR/utest/*.csv
  do
      file=$(basename $infile .csv)
      echo -n " Test $file"
      value=`$CURDIR/Release/vertical -f $infile`
      res=`cat $CURDIR/utest/$file.res`
      if [ "$(echo "$res+$TOL*$res &gt;= $value &amp;&amp; $res-$TOL*$res &lt;= $value" | bc)" -eq 1 ]; then
      echo -e "\t\t PASSED."
      else
      echo -e "\t\t FAILED."
      fi;
  done
  
  echo ""
  </code></pre>
  
  <p>The two files are IDENTICAL besides the directory (Earthmoving vs Vertical) and the program name (earthmove vs vertical).  I know this because I created the second by copying and pasting the first.  Running the second script results in this:</p>
  
  <pre><code>Running Unit Tests
  ------------------
  
   Test flatroad(standard_in) 1: illegal character: S
  (standard_in) 1: syntax error
  (standard_in) 1: illegal character: :
  (standard_in) 2: illegal character: S
  (standard_in) 2: illegal character: :
  (standard_in) 2: syntax error
  (standard_in) 2: illegal character: N
  (standard_in) 2: illegal character: :
  (standard_in) 2: illegal character: I
  (standard_in) 2: illegal character: :
  (standard_in) 2: illegal character: :
  (standard_in) 2: illegal character: O
  (standard_in) 2: illegal character: :
  (standard_in) 3: illegal character: P
  (standard_in) 3: illegal character: :
  (standard_in) 3: syntax error
  (standard_in) 3: illegal character: M
  (standard_in) 3: illegal character: :
  (standard_in) 3: illegal character: H
  (standard_in) 3: illegal character: :
  (standard_in) 3: illegal character: :
  (standard_in) 4: illegal character: P
  (standard_in) 4: illegal character: :
  (standard_in) 4: syntax error
  (standard_in) 4: illegal character: M
  (standard_in) 4: illegal character: :
  (standard_in) 4: illegal character: H
  (standard_in) 4: illegal character: :
  (standard_in) 4: illegal character: :
  (standard_in) 5: syntax error
  (standard_in) 5: illegal character: :
  (standard_in) 6: illegal character: P
  (standard_in) 6: illegal character: :
  (standard_in) 6: illegal character: M
  (standard_in) 6: syntax error
  (standard_in) 6: illegal character: :
  (standard_in) 7: syntax error
  (standard_in) 7: illegal character: :
  (standard_in) 8: illegal character: P
  (standard_in) 8: illegal character: :
  (standard_in) 8: syntax error
  (standard_in) 8: illegal character: M
  (standard_in) 8: illegal character: :
  (standard_in) 15: syntax error
  (standard_in) 16: syntax error
  (standard_in) 16: illegal character: M
  (standard_in) 16: illegal character: I
  (standard_in) 16: illegal character: P
  (standard_in) 17: syntax error
  (standard_in) 18: illegal character: T
  (standard_in) 18: illegal character: S
  (standard_in) 18: illegal character: T
  (standard_in) 18: syntax error
  (standard_in) 19: illegal character: T
  (standard_in) 19: illegal character: S
  (standard_in) 19: illegal character: T
  (standard_in) 19: syntax error
  (standard_in) 20: illegal character: T
  (standard_in) 20: illegal character: S
  (standard_in) 20: illegal character: T
  (standard_in) 20: syntax error
  (standard_in) 21: illegal character: T
  .
  .
  .
  (standard_in) 90: illegal character: I
  (standard_in) 90: illegal character: O
  (standard_in) 90: syntax error
  (standard_in) 90: illegal character: P
  (standard_in) 90: illegal character: I
  (standard_in) 90: illegal character: I
  (standard_in) 90: illegal character: T
  (standard_in) 91: syntax error
  (standard_in) 91: syntax error
  (standard_in) 91: syntax error
  (standard_in) 91: syntax error
  (standard_in) 93: illegal character: S
  (standard_in) 93: syntax error
  (standard_in) 94: illegal character: O
  (standard_in) 94: syntax error
  (standard_in) 95: syntax error
  (standard_in) 96: illegal character: U
  (standard_in) 96: syntax error
  (standard_in) 96: illegal character: '
  (standard_in) 96: illegal character: O
  (standard_in) 96: illegal character: '
                   FAILED.
  </code></pre>
  
  <p>There are plenty more lines where the "..." is, but they're basically just a variation on the same idea.</p>