シェル スクリプトの「行 3: 予期しないトークンの近くに構文エラーがあります」

シェル スクリプトの「行 3: 予期しないトークンの近くに構文エラーがあります」

パラメータを指定して実行ファイルを何度か実行しようとしています。そのためのスクリプトを作成しました。しかし、常にエラーが発生し、修正方法がわかりません。

#!/bin/bash

export VCF_FILE='KI_subsetted.recode.vcf'
for i in $(seq 22) do; /home/lab/Desktop/vcftools_0.1.13/bin/vcftools --vcf $VCF_FILE --chr i --out ./by_chrs_komi/i --recode; done

発生しているエラーは次のとおりです:

./chrs.sh: line 3: syntax error near unexpected token `/home/lab/Desktop/vcftools_0.1.13/bin/vcftools'
./chrs.sh: line 3: `for i in $(seq 22) do; /home/lab/Desktop/vcftools_0.1.13/bin/vcftools --vcf ./KI_subsetted.recode.vcf --chr i --out ./by_chrs_komi/i --recode; done'

私はUbuntu 15.10を使用しています

答え1

試す

for i in $(seq 22) ; do /home/aydar/Desktop/vcftools_0.1.13/bin/vcftools --vcf $VCF_FILE --chr $i --out ./by_chrs_komi/$i --recode; done
  • セミコロン(;)doの前
  • $i数値の場合は引用符は必要ありません。

または、プログラミングスタイル、提案に従って

for i in {1..22}
do 
  /home/aydar/Desktop/vcftools_0.1.13/bin/vcftools \
    --vcf $VCF_FILE --chr $i --out ./by_chrs_komi/$i --recode
done

関連情報