我无法将变量从 Slurm 脚本传递到 Bash 脚本

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

不知何故,我无法将变量从 Slurm 作业脚本传递到 Bash。我以为它以前有效,但我找不到错误。

Slurm脚本运行如下:

#!/bin/bash
#
#SBATCH -A node
... (MORE SLURM OPTIONS)

HABITAT=trocken
PRJDIR=/home/poppman/rca/prj
PATCHDIR=/home/poppman/rca/dat/pat
RESDIR=/home/poppman/rca/dat/res
GRAPHAB=/home/poppman/rca/opt/graphab-2.8.jar

MAXEUC=1500
MAXRES=250000

METRIC=PC

srun /home/poppman/rca/base_graphs_p.sh -p $PROJNAME -t $HABITAT -e $MAXEUC -r $MAXRES -m $METRIC -i ${SLURM_ARRAY_TASK_ID} -d "false"

它运行的 bash 脚本以以下内容开头:

#!/bin/bash
#
while getopts p:t:e:r:m:i:d: options
do
  case "${options}" in
    p) PROJNAME=${OPTARG} ;;
    t) HABITAT=${OPTARG} ;;
    e) MAXEUC=${OPTARG} ;;
    r) MAXRES=${OPTARG} ;;
    m) METRIC=${OPTARG} ;;
    i) JOBID=${OPTARG} ;;
    d) EUCLID=${OPTARG} ;;
  esac
done

但不知何故变量不包含任何值。我还尝试引用

":p:t:e:r:m:i:d:"
和其他小更改,但变量仍然为空。这是什么问题?

bash arguments slurm
1个回答
0
投票

没关系。我刚刚发现我没有分配要作为参数传递的第一个变量。不知怎的,这会导致整个事情失败。

© www.soinside.com 2019 - 2024. All rights reserved.