You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

脚本中执行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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.16 10:23:17