“linha 3: erro de sintaxe próximo ao token inesperado” em um shell script

0

Estou tentando executar alguns executáveis com parâmetros várias vezes. Eu escrevi um roteiro para isso. Mas estou sempre recebendo um erro e não consigo descobrir como corrigi-lo.

#!/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

O erro que estou recebendo é:

./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'

Estou no Ubuntu 15.10

    
por YKY 11.12.2015 / 15:26

1 resposta

1

tente

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
  • ponto e vírgula ( ;) antes do
  • se $i for um número, não há necessidade de cotações.

ou, estilo de programação e por sugestão

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
    
por 11.12.2015 / 15:32