HTCondor:在提交文件中,如何评估变量的值以将其写入输出文件名?

问题描述

我想使用HTCondor运行多个作业,这是我的提交文件

# Unix submit description file
b1=50+($(Process)%41)*10    
executable              = PATH/script.sh
arguments               = $(b1)
log                     = fit_it_data_$(b1).log
output                  = outfile_fit_$(b1).txt
error                   = errors_fit_$(b1).txt
transfer_input_files    = PATH
should_transfer_files   = Yes
when_to_transfer_output = ON_EXIT
queue 81

因此我的可执行文件使用b1作为参数,该参数由$(Process)函数定义。我想在输出文件中写入b1的值。问题是我得到了类似的东西:

outfile_fit_50+17%41_100.txt

即使当我尝试定义b1=$(50+($(Process)%41)*10)时,我也会得到相同的答案...知道如何解决它吗?

解决方法

HTCondor提交文件中用于评估classad表达式的语法为“ $$([expression])”。因此,如果您将提交文件更改为

output = output_file.$$([$(b1)])

我想您会得到想要的。如果需要,您也可以将相同的内容放在arguments命令中。