„Zeile 3: Syntaxfehler in der Nähe eines unerwarteten Tokens“ in einem Shell-Skript

„Zeile 3: Syntaxfehler in der Nähe eines unerwarteten Tokens“ in einem Shell-Skript

Ich versuche mehrmals, eine ausführbare Datei mit Parametern auszuführen. Ich habe ein Skript dafür geschrieben. Aber ich erhalte immer einen Fehler und weiß nicht, wie ich ihn beheben kann.

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

Der Fehler, den ich erhalte, ist:

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

Ich verwende Ubuntu 15.10

Antwort1

versuchen

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
  • Semikolon ( ;)vor do
  • Wenn $ies sich um eine Zahl handelt, sind keine Anführungszeichen erforderlich.

oder, Programmierstil und gemäß Vorschlag

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

verwandte Informationen