脚本中执行p3-genome-fasta命令报错,但终端直接输入相同命令却正常的问题求助
脚本中执行p3-genome-fasta命令报错,但终端直接输入相同命令却正常的问题求助
大家好,我写了个脚本用来根据一些基因组ID获取对应的序列,结果遇到了个挺奇怪的问题——脚本里执行命令时会报错,但把脚本打印出来的命令直接复制到终端里运行却完全正常,实在摸不着头脑,想请各位帮忙分析下原因。
先贴一下我的脚本代码:
# Process each genome ID in array for id in "${genome_ids[@]}"; do echo "Processing genome ID: $id" # Construct the command command="p3-genome-fasta --protein $id" # Execute the command $command done
运行脚本后得到的示例输出是这样的:
Processing genome ID: 1000289.10
p3-genome-fasta --protein 1000289.10
. at /usr/share/bvbrc-cli/deployment/plbin/p3-genome-fasta.pl line 47.
报错提示指向了p3-genome-fasta.pl的第47行,但我把上面输出里的命令p3-genome-fasta --protein 1000289.10直接粘到终端里执行,却能正常工作,完全不会报错。
另外我还找到了p3-genome-fasta.pl里相关的代码片段,是用来处理基因组ID的:
# Get the genome ID. my ($genomeID) = @ARGV; if (! $genomeID) { die "No genome ID specified."; } elsif (! ($genomeID =~ /^\d+\.\d+$/)) { die "Invalid genome ID $genomeID."; }
有没有大佬能帮我看看这到底是哪里出问题了?
备注:内容来源于stack exchange,提问作者Alex Lee
相关产品推荐
相关产品推荐

