«строка 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

Связанный контент