1

Linuxで次の演習を実行したいと思います。Impute2 は、コマンド ライン ベースのソフトウェアです。for-loops を使用してオプションを自動的に変更したいのですが、次のエラーが ** bold ** でスローされます。

-int オプションは、** $chunk ** ごとに ** $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

** bash: 予期しないトークン 'for' 付近の構文エラー **

4

1 に答える 1

1

3forと 3doneがありますが、1 つしかありませんdo。あなたはもっと必要do-doです!

つまり、for x in a; do for y in b; do for z ...

于 2013-02-01T19:58:41.053 に答える