我正在提交一系列带有一系列参数值的qsub作业。我运行以下循环来提交这些多个作业。我通过-v将特定参数值传递给qsub。我希望作业名也是这些参数的函数:
#!/bin/bash
for a in 1 2
do
for b in 1 2
do
echo "a is $a, b is $b"
qsub -v a=$a,b=$b -N run_$a_$b run_file.sh
done
done
run_file.sh包含运行程序的#PBS命令。 当我提交到服务器时,我看到以下输出显示循环正常工作:
a is 1, b is 2
但作业名称仅显示最后一个参数
run_$b (i.e. run_2 for $b=2)
而不是
run_$a_$b
如何让jobname包含这两个参数?我试过缩短文件名以确认它不是长度问题。我希望该名称与两个参数一起出现,以跟踪哪些文件仍在运行,而无需检查输出文件。谢谢你的帮助。
答案 0 :(得分:0)
无法真正运行此脚本但请尝试: qsub -v a = $ a,b = $ b -N run _ $ {a} _ $ {b} run_file.sh
希望这就是你要找的东西
答案 1 :(得分:0)
在run_ $ a_ $ b bash中将$ a_视为一个变量,显然你没有定义a_ 这样的事应该有效吗? 运行_ $ {A} _ $ B