如何解决sbatch --array命令中的值不同于作业任务ID,它们中的每个都在不同的作业中运行
是否可以在sbatch --array命令行与作业任务ID不同的脚本中提供一些值,并且每个脚本都在不同的作业中运行?
sbatch --array=1-2 script.sh 4 6
使用script.sh
#!/bin/bash
VALUE=$"$SLURM_ARRAY_TASK_ID"
echo $VALUE
然后,在它们运行之后,
cat slurm*
返回
1
2
但是我想知道是否有可能使2个作业返回,而不是由sbatch --array命令中的“ 4 6”值分别返回:
4
6
解决方法
您可以使用indirect variable expansion:
#!/bin/bash
VALUE=${!SLURM_ARRAY_TASK_ID}
echo $VALUE
请注意感叹号。之后
sbatch --array=1-2 script.sh 4 6
您应该有两个输出文件,一个带有4
,另一个带有6
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。