2016-04-15 72 views
0

如何在linux中使用for循环来生成以下几行?for循环回显顺序命令行?

zcat ~/tools/sample66621D.fastq | bowtie2 -a - | samtools ->sample66621D.BAM 
zcat ~/tools/sample66622D.fastq | bowtie2 -a - | samtools ->sample66622D.BAM 
zcat ~/tools/sample66623D.fastq | bowtie2 -a - | samtools ->sample66623D.BAM 

我已经试过:

for ((a=21;a<=23;a++)) 
    echo "zcat ~/tools/sample666$aD.fastq | bowtie2 -a - | samtools ->sample666$aD.BAM" 
done 

却原来是三个相同的线。

zcat ~/tools/sample666.fastq | bowtie2 -a - | samtools ->sample666.BAM 
zcat ~/tools/sample666.fastq | bowtie2 -a - | samtools ->sample666.BAM 
zcat ~/tools/sample666.fastq | bowtie2 -a - | samtools ->sample666.BAM 

感谢

回答

0

$aD是一个有效的变量名。您必须用括号将变量名称分隔,即${a}

+0

谢谢,它的工作原理。把这些echo命令行输出到run.sh文件怎么样? - >在这里没有工作。 – Ming