问题描述
我想使用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命令中。