shell 腳本中的“第 3 行:意外標記附近的語法錯誤”

shell 腳本中的“第 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

相關內容