title: Why can't my shell script while loop be used normally?
body: <p>I am using the software while loop, the following is my script：</p>
  <pre><code>cat ./list.txt |
    while read id
    do
      (
        ribotricer detect-orfs --bam /home/leelee/share/mapping/genome/${id}Aligned.sortedByCoord.out.bam  --ribotricer_index /home/leelee/share/ORFfind/ribotricer/noncode/twodb_candidate_orfs.tsv --prefix ${id}.ribotricer --phase_score_cutoff 0.440
      )
    done
  </code></pre>
  <p>The error shows that the bam file I entered cannot be found, but I am sure this file exists.I used the following script and found that I output a strange file name：</p>
  <pre><code>cat ./list.txt |
    while read id
    do
      (
        echo /home/leelee/share/mapping/genome/${id}Aligned.sortedByCoord.out.bam
      )
    done
  </code></pre>
  <p>The following is the output</p>
  <pre><code>Aligned.sortedByCoord.out.bamnome/SRR1257256
  Aligned.sortedByCoord.out.bamnome/SRR1257257
  Aligned.sortedByCoord.out.bamnome/SRR1257258
  Aligned.sortedByCoord.out.bamnome/SRR1257259
  Aligned.sortedByCoord.out.bamnome/SRR1257260
  Aligned.sortedByCoord.out.bamnome/SRR1257261
  Aligned.sortedByCoord.out.bamnome/SRR1257262
  </code></pre>
  <p>This is obviously not the output I want. Why does this happen (this script was able to run normally before) and how can I solve this problem?</p>