我必须为集群运行多个sbatch slurm脚本。说,我有50个sbatch文件,并按如下顺序在终端(使用Ubundu)中依次运行它们。
sbatch文件1.sbatch
sbatch file2.sbatch
。
。
。
sbatch file50.sbatch
我想简化这50个不同的命令以在单个命令中运行。当我刚开始使用终端以及集群时,我真的不知道如何解决这个问题。请给我一些执行此操作的解决方案(我想我需要使用一些for循环语句,但是我怀疑哪种语法)。完全感到困惑,一些相关文档也可能会有所帮助。
谢谢。
答案 0 :(得分:0)
您准备的代码应该在交互式外壳中运行,而不是启动到队列中。
只需直接运行代码:
$ sh call_sbatch.sbatch
或者,如果您的文件是可执行文件,
$ ./call_sbatch.sbatch
它应该与您创建的循环一起运行,并且该循环会将您感兴趣的作业(在示例代码中,三个作业:layer1.sbatch,layer2.sbatch和layer3.sbatch)发送到队列。