gpt4 book ai didi

parameter-passing - 如何在 sbatch 命令行中传递参数?

转载 作者:行者123 更新时间:2023-12-05 00:39:33 26 4
gpt4 key购买 nike

我想将参数传递到 sbatch 命令行。

RHO_COR.sh

#!/bin/bash
#SBATCH -o job-%A_task.out
#SBATCH --job-name=paral_cor
#SBATCH --partition=normal
#SBATCH --time=1-00:00:00
#SBATCH --mem=200G
#SBATCH --cpus-per-task=16
#SBATCH --array=1-10

#Set up whatever package we need to run with

module load gcc/8.1.0 openblas/0.3.3 R

# SET UP DIRECTORIES

OUTPUT="$HOME"/PROJET_M2/data/$(date +"%Y%m%d")_parallel_nodes_test
mkdir -p "$OUTPUT"

export FILENAME="$HOME"/vipailler/PROJET_M2/bin/RHO_COR.R

subset=$((SLURM_ARRAY_TASK_ID))
file="$HOME"/PROJET_M2/raw/truelength2.prok2.uniref2.rares.tsv

#Run the program

echo "Start job :"`date` >> "$OUTPUT"/"$SLURM_ARRAY_TASK_ID".txt
echo "Start job :"`date`

echo PWD $PWD

Rscript $FILENAME --file $file --subset $subset > "$OUTPUT"/"$SLURM_ARRAY_TASK_ID"

wait


echo "Stop job : "`date` >> "$OUTPUT"/"$SLURM_ARRAY_TASK_ID".txt
echo "Stop job : "`date`

我使用以下代码执行此代码:

sbatch --partition normal --array 1-10 RHO_COR.sh

我想得到的是在上面的命令行中使用 file 参数,它看起来像 sbatch --partition normal --array 1-10 --file name_of_my_file RHO_COR .sh

我不想在 Slurm 代码中指定我的文件名,而是在 sbatch 命令行中指定文件名,以免更改此 Slurm 代码。

谢谢

最佳答案

您可以在脚本之后传递一个参数,就像您直接在 shell 上运行它一样:

sbatch --partition normal --array 1-10 RHO_COR.sh name_of_my_file

然后参数将在 shell 脚本中以 $1

的形式出现

关于parameter-passing - 如何在 sbatch 命令行中传递参数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55867700/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com