1

我正在提交一堆采用一系列参数值的 qsub 作业。我运行以下循环来提交这些多个作业。我通过-v将具体的参数值传递给qsub。我希望 jobname 也是这些参数的函数:

#!/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

如何让作业名包含两个参数?我尝试缩短文件名以确认这不是长度问题。我希望名称与两个参数一起出现,以跟踪哪些文件仍在运行,而无需检查输出文件。谢谢你的帮助。

4

2 回答 2

0

无法真正运行此脚本,但请尝试: qsub -va=$a,b=$b -N run_${a}_${b} run_file.sh

希望这就是你要找的

于 2013-07-18T22:56:58.520 回答
0

在 run_$a_$b bash 考虑 $a_ 作为一个变量,显然你没有 a_ 定义这样的东西应该有效吗?运行_${a}_$b

于 2014-02-07T15:31:03.140 回答