将 SLURM 批处理命令行参数传递给 R

Passing SLURM batch command line arguments to R

我正在尝试 运行 一个 SLURM sbatch 命令,其中包含我可以在 R 脚本中读取的各种参数。在使用 PBS 系统时,我曾经写 qsub -v param1=x,param2=y(+ 其他系统参数,如内存要求等和 PBS 读取的脚本名称),然后在 R 脚本中用 x = Sys.getenv(‘param1’) 读取它。

现在我试过了

sbatch run.sh --export=basePath=‘a’

与run.sh:

#!/bin/bash

cd $SLURM_SUBMIT_DIR
echo $PWD

module load R/common/3.3.3

R CMD BATCH --quiet --no-restore --no-save runDo.R output.txt

和runDo.R:

base.path = Sys.getenv('basePath')

print(base.path)

脚本是 运行ning 但参数值未分配给 base.path 变量(它打印一个空字符串)。

必须将导出参数传递给 sbatch 而不是 run.sh 脚本。

应该是这样的:

sbatch --export=basePath=‘a’ run.sh