Как объявить переменную в командном файле Slurm и использовать ее в мультипрограммном файле conf?
В моем текущем проекте у меня есть проблема слишком длинных команд в slurm multiprog conf (ограничение в 256 символов).
Чтобы обойти это, я хотел бы определить переменные (пути, пользовательские данные, имена файлов) в пакетном файле и использовать их в конфигурационном файле multiprog.
Тетя Гугл и довольно спартанская документация не давали мне подсказок. Я изучал использование переменных окружения, но не нашел способа установить свои собственные.
Есть намеки?
1 ответ
Командная строка в файле конфигурации multiprog exec
редактировал, а не анализировал с Bash, так что вам нужно явно вызывать оболочку Bash.
Например:
$ export VAR=VALUE
Я установил VAR
вар в среде со значением VALUE
и используйте следующий файл conf для иллюстрации:
$ cat multi.conf
0 echo $VAR
1 bash -c 'echo $VAR'
Задача 0 будет просто exec
'в то время как задача 1 будет сначала проанализирована Bash. Результат:
$ srun -n2 -l --multi-prog multi.conf
0: $VAR
1: VALUE
Taks 0 отображает имя переменной, а задача 1 отображает значение переменной. Но будьте осторожны, что вам нужно потратить 10 дополнительных символов.