Why converting to int the Process Id in Condor doesn't work this way?

197 Views Asked by At

So I have the following HTCondor submit description that works:

n = $(ProcId) + 1
arguments = read_$INT(n).fa

Why can't I do this instead?

n = $INT($(ProcId) + 1)
arguments = read_${n}.fa
1

There are 1 best solutions below

3
MisterMiyagi On BEST ANSWER

HTCondor submit description files use their own format for substitutions, not bash/shell syntax.

Macros

Parameterless macros in the form of $(macro_name:default initial value) may be used anywhere in HTCondor submit description files to provide textual substitution at submit time. Macros can be defined by lines in the form of

<macro_name> = <string>

In order to refer to a macro (variable) n use $(n) instead of the bash syntax ${n}. Since macros cannot be nested, evaluating $INT based on another macro requires an intermediate variable:

proc1 = $(ProcId) + 1
n = $INT(proc1)
arguments = read_$(n).fa