我有一段代码通常在SLURM下运行。大致如下:
if ! lengthy_command
then
echo "Error occured"
fi
出于会计目的,我想要将命令启动方式迁移到基于srun
的启动方式。
if ! srun <srun params> lengthy_command
then
echo "Error occured"
fi
但是更改了那行代码后,脚本将不再在交互式会话(SLURM之外)中运行。有没有办法使脚本通用,以便它可以在两种情况下运行?我在srun
文档中看不到任何指向这个方向的内容。
srun
参数在同一脚本的不同调用中会发生变化。而且,在每个命令之前添加条件语句使其与“插入式”替换相差甚远(如果srun
不支持此类条件执行)。我正在准备一个bash函数来尝试解决这个问题,但仍然存在一些问题...新问题即将出现。 - Poshisrun
,用于在Slurm运行时运行出错,使用Bash函数或具有优先级的脚本PATH超过实际的srun
命令。 - damienfrancois