다음 코드는 다음을 반환합니다. 근처 구문 오류(
#!/bin/bash
myprogram -i <(gunzip -c file.gz) -j <(gunzip -c file2.gz)
괄호를 좋아하지 않는 것 같습니다. 이 스크립트를 어떻게 작동하게 만들 수 있나요? Linux 셸에서 동일한 명령을 실행하면 작동합니다. 스크립트 내의 명령을 사용하여 스크립트를 실행하려고 하면 실패합니다. 보호 버팀대가 필요합니까?
스크립트 외부에서 작동하는 정확한 명령줄(명령줄)은 다음과 같습니다.
kaiju -z 1 -a greedy -m 5 -s 70 -x \
-t /db/kaiju/nodes.dmp -f /db/kaiju/kaiju_db_nr_euk.fmi \
-i <(gunzip -c files/mapped_reads_to_extracted_marker_genes/1/1.1.1.bin.13.genes.fa.R1.fq.gz) \
-j <(gunzip -c files/mapped_reads_to_extracted_marker_genes/1/1.1.1.bin.13.genes.fa.R2.fq.gz)
대기열이 길어서 죄송합니다(kaiju는 생물정보학을 위한 오픈 소스 프로그램입니다). 스크립트 내부에서 위의 오류로 인해 실패합니다.
bash --version
GNU bash, version 4.1.2(1)-release (x86_64-redhat-linux-gnu)
Copyright (C) 2009 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
스크립트를 실행하는 방법은 ./script.sh
또는 입니다 bash script.sh
. 나는 chmod +x
또한 이 스크립트를 실행했습니다. 어떻게 쓰는지 아시나요?