在SGE/PBS中,我可以向集群提交二进制可执行文件,就像在本地提交一样。例如:

qsub -b y -cwd echo hello

将提交一个名为echo的作业,该作业将“hello”写入其输出文件。
我怎么能把类似的工作交给SLURM呢。它希望文件在第一行有一个hash-bang解释器。在泥泞中我得到
$ sbatch echo hello
sbatch: error: This does not look like a batch script.  The first
sbatch: error: line must start with #! followed by the path to an interpreter.
sbatch: error: For instance: #!/bin/sh

或者使用pseuodo qsub:
$ qsub echo hello
There was an error running the SLURM sbatch command.
The command was:
'/cm/shared/apps/slurm/14.11.3/bin/sbatch echo hello  2>&1'
and the output was:
'sbatch: error: This does not look like a batch script.  The first
 sbatch: error: line must start with #! followed by the path to an interpreter.
 sbatch: error: For instance: #!/bin/sh
'

我不想写脚本,把#!/bin/bash放在上面,我的命令放在下一行,然后提交给sbatch。有没有办法避免这种额外的工作?必须有一种更有成效的方法。

最佳答案

可以使用--wrap参数在脚本中自动包装命令。
类似于:
sbatch --wrap="echo hello"

10-08 03:49