/opt/lmod/lmod/init/bash:第 178 行:`color-chrs.pl':不是有效的标识符

问题描述 投票:0回答:1

我正在尝试向计算节点提交 shell 脚本,但仅在提交作业时才不断遇到此错误。该作业启动但返回错误“...不是有效的标识符”。如果我将代码粘贴到前端,它将执行而不会出现任何错误。任何解决问题的建议将不胜感激。我正在使用的作业文件如下。我以前多次使用过这个脚本,但从未见过这个错误。唯一改变的是我使用了不同的计算集群。

#!/bin/sh -l
#SBATCH --job-name=vcf_selection
#SBATCH -A standby
#SBATCH -t 4:00:00
#SBATCH -N 1 -n 5

module load biocontainers
module load htslib
module load bcftools

echo "compressing files..."
for i in {1..10}
do
bgzip Selected.Inbreds.MAF0.05.RefGenV4.chr$i.vcf.recode.vcf
tabix -h Selected.Inbreds.MAF0.05.RefGenV4.chr$i.vcf.recode.vcf.gz
done

大多数面临类似错误的人建议在指定路径等时避免“=”周围的空格。我的脚本中没有任何可以做到这一点的内容。

linux slurm bcftools htslib
1个回答
0
投票

前端和计算节点可能具有不同版本的 Bash 或 Sh。对于旧版本的 Bash 和真正的 Sh shell,

{1..10}
可能会出现问题(
/bin/sh
通常与
bash
符号相似,但计算节点上可能并非如此)。

为了安全起见,您可以将该部分替换为

$(seq 1 10)

for i in $(seq 1 10)
© www.soinside.com 2019 - 2024. All rights reserved.