将 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
我正在尝试 运行 一个 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