Предположим, что у меня есть следующий простой bash script, который я хочу отправить на пакетный сервер через SLURM:
#!/bin/bash
#SBATCH -o "outFile"$1".txt"
#SBATCH -e "errFile"$1".txt"
hostname
exit 0
В этом script я просто хочу написать вывод hostname
в текстовом файле, полное имя которого я управляю через командную строку, например:
login-2:jobs$ sbatch -D `pwd` exampleJob.sh 1
Submitted batch job 203775
К сожалению, кажется, что мой последний аргумент командной строки (1) не обрабатывается через sbatch, так как у созданных файлов нет суффикса, который я ищу, а строка "$ 1" интерпретируется буквально:
login-2:jobs$ ls
errFile$1.txt exampleJob.sh outFile$1.txt
Я просмотрел места в qaru.site/info/496810/... и в другом месте, но я рад Мне не повезло. По сути, я ищу эквивалент переключателя -v
утилиты qsub
в кластерах с поддержкой Torque.
Изменить. Как упоминалось в потоке комментариев, я решил свою проблему непростым образом: вместо одного единственного script, который будет передаваться несколько раз серверу пакетов, каждый с разными аргументы командной строки, я создал "master script", который просто эхом и перенаправил один и тот же контент на разные сценарии, причем содержимое каждого из них было изменено переданным параметром командной строки. Затем я отправил все это на мой пакетный сервер через sbatch
. Однако это не отвечает на исходный вопрос, поэтому я не решаюсь добавить его в качестве ответа на мой вопрос или отметить этот вопрос.