【问题标题】:qsub passing parameters to -N (name) optionqsub 将参数传递给 -N (name) 选项
【发布时间】:2013-07-18 22:45:27
【问题描述】:

我正在提交一堆采用一系列参数值的 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

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

【问题讨论】:

    标签: bash cluster-computing qsub


    【解决方案1】:

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

    希望这就是你要找的东西

    【讨论】:

    • 是的,这行得通 - 现在两个参数都出现了(大括号也出现了,但没关系)。谢谢!
    【解决方案2】:

    在 run_$a_$b bash 中将 $a_ 视为一个变量,显然您没有定义 a_ 像这样的东西应该有效吗? 运行_${a}_$b

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-08-27
      • 1970-01-01
      • 1970-01-01
      • 2023-03-23
      • 1970-01-01
      相关资源
      最近更新 更多