Возможно, это дубликат или слишком наивный вопрос, но я не смог найти подходящие ключевые слова для поиска в Google. Я учусь на некоторых примерах сценариев bash для заданий с использованием SGE и SLURM, и я не мог полностью понять логику этого. В сценарии для SGE у нас есть
#$ -cwd # Current working directory
#$ -N JobTest1 # Name of submitted job
а для SLURM у нас есть
#SBATCH --job-name=JobTest1
#SBATCH --output=TestOutput.log
Я понимаю, что если ваш qsub или sbatch скрипт, то вещи после #$ или #SBATCH будут переданы команде в качестве аргументов. Это вообще верно для других команд в bash или Linux? Если да, то будет ли у них для этого свой собственный обязательный формат (например, #+SomethingElse)?
Кроме того, я заметил, что способы передачи значений в аргументы различаются. В первом случае между флагом и значением стоит пробел, а во втором — знак равенства. Являются ли они специфическими для модулей SGE или SLURM или эти стили взаимозаменяемы?
Это сильно зависит от того, как работают менеджеры ресурсов, такие как Slurm, PBS, SGE и т. д., и вы не должны ожидать, что другое программное обеспечение будет работать так же.
Что касается знака равенства, этот вопрос более общий и применим к большинству программ для Linux, вы найдете хороший ответ здесь.