我想在linux中执行以下练习。 Impute2是基于命令行的软件。我想使用for循环自动更改其选项,但它在**粗体**中抛出以下错误。
-int选项是每个** $ chunk **从** $ int1到$ int2 **的范围。
这意味着这里对于块34,int将是165752599到170752599(差值为5000001),而for 35将int为170752600到175752600,依此类推,直到最后一个块,即块49,其int将为240752614至245752614。
for chunk in $(seq 34 49)
for int1 in $(seq 165752599 5000001 240752614)
for int2 in $(seq 170752599 5000001 245752614)
do ./impute2 -use_prephased_g -m map.txt -h hap.txt -l legend.txt \
-known_haps_g knownhap.txt -strand_g chr1_pos_strand_new \
-align_by_maf_g -int $int1 $int2 -Ne 20000 -iter 30 -burnin 10 \
-k 80 -k_hap 500 -os 0 1 2 3 -o result.out -o_gz -r result.summary \
-i resul.info
done
done
done
** bash:'**
意外令牌附近的语法错误答案 0 :(得分:1)
您有3个for
个和3个done
个但只有一个do
。您需要更多do-do
!
即for x in a; do for y in b; do for z ...