셸 스크립트에서 "라인 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'

나는 우분투 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

관련 정보