【发布时间】:2019-04-04 06:09:35
【问题描述】:
我想将 LSB_JOBINDEX 作为参数传递给我的脚本,而不是使用环境变量。
这使我的脚本更加与 LSF 无关,并避免创建使用环境变量的帮助脚本。
但是,我无法在参数中使用LSB_JOBINDEX:它只能作为初始命令字符串的一部分。
例如,在 bash shell 中,我使用 test 命令:
bsub -J 'myjobname[1-4]' -o bsub%I.log \
'echo $LSB_JOBINDEX' \
'$LSB_JOBINDEX' \
\$LSB_JOBINDEX \
'$LSB_JOBINDEX' \
"\$LSB_JOBINDEX"
bsub2.log 的输出是:
2 $LSB_JOBINDEX $LSB_JOBINDEX $LSB_JOBINDEX $LSB_JOBINDEX
所以在这种情况下,只有第一个 $LSB_JOBINDEX 得到了扩展,而以下任何一个都没有。
但我宁愿不将整个命令作为单个大字符串传递,如本例中的'echo $LSB_JOBINDEX'。我宁愿像在常规 bash 命令中那样使用单独的参数。
我也尝试过使用%I,但它仅适用于-o 和相关的bsub 选项,不适用于命令本身。
相关:Referencing job index in LSF job array
在 LSF 10.1.0 中测试。相关文档:https://www.ibm.com/support/knowledgecenter/en/SSWRJV_10.1.0/lsf_admin/job_array_cl_args.html
【问题讨论】:
标签: lsf