我想在linux中執行以下練習。 Impute2是基於命令行的軟件。我想使用for-loops自動改變它的選項,但是在** bold **中拋出下面的錯誤。在shell腳本中使用多個for循環時出現語法錯誤
對於每個** $塊**,-int選項是從** $ int1到$ int2 **的範圍。
這意味着在這裏對於塊34,int將從165752599到170752599(差值5000001),並且對於塊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
**擊: '爲' 語法附近意外的標記錯誤**
正確的語法for'for'是for ...; *一路下來*,沒有'do'就不能擁有'for'。 –
粘貼後你看過代碼的格式嗎?這是一個難以理解的混亂的大牆... – 2013-02-01 19:52:36
是的,你似乎有3爲1和3完成的。這肯定會有問題 – TopGunCoder