"línea 3: error de sintaxis cerca del token inesperado" en un script de shell

"línea 3: error de sintaxis cerca del token inesperado" en un script de shell

Estoy intentando ejecutar un ejecutable con parámetros varias veces. Escribí un guión para ello. Pero siempre recibo un error y no sé cómo solucionarlo.

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

El error que recibo es:

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

Estoy en Ubuntu 15.10

Respuesta1

intentar

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
  • punto y coma ( ;)antes de hacer
  • Si $ies un número, no se necesitan comillas.

o, estilo de programación, y según sugerencia

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

información relacionada