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 命令中添加相同的内容。
我想 运行 使用 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 命令中添加相同的内容。