“ บรรทัดที่ 3: ข้อผิดพลาดทางไวยากรณ์ใกล้โทเค็นที่ไม่คาดคิด” ในเชลล์สคริปต์


0

ฉันพยายามเรียกใช้ไฟล์ปฏิบัติการด้วยพารามิเตอร์หลายครั้ง ฉันเขียนสคริปต์สำหรับมัน แต่ฉันมักจะได้รับข้อผิดพลาดและไม่สามารถหาวิธีแก้ไขได้

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


คุณกำลังพูด --chr iมันไม่ควรจะเป็น --chr "$i"?
fedorqui

คำตอบ:


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
  • อัฒภาค ( ;) ก่อนทำ
  • ถ้า $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

หรือ for i in {1..22}ดียิ่งขึ้น
fedorqui

ขอบคุณมันใช้งานได้ เปิดตัวอย่างน้อยปฏิบัติการได้ อย่างไรก็ตามด้วยเหตุผลบางประการโปรแกรมไม่สามารถเปิดไฟล์ที่ส่งออก
YKY

ข้อผิดพลาด: ไม่สามารถเปิดไฟล์ VCF Output: ./by_chrs_komi/22.recode.vcf
YKY

1
ไดเรกทอรี by_chrs_komi มีอยู่จริง และเขียนได้?
Archemar

1
นั่นคือ by_chr s _komi (กับ) หรือ by_chr_komi (โดยไม่มี)?
Archemar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.