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

HTCondor: In the submit file, how to evaluate the value of a variable in order to write it in an output file name?

我想 运行 使用 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 表达式的语法是“$$([表达式])”。因此,如果您将提交文件更改为

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

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