【问题标题】:How to use the qsub -v command in PBS torque?如何在 PBS 扭矩中使用 qsub -v 命令?
【发布时间】:2012-10-09 11:23:22
【问题描述】:

我想使用“qsub -v”命令将变量传递给 csh 脚本。我知道我们可以列出参数值对如下,

qsub -v par1=value1 par2=value2 myScript.csh

有谁知道这些参数的值是否可以是字符串、由逗号分隔的数字列表或文件名?例如,下面的命令是否可行?

qsub -v par1='Cassie_score' par2=cassieFile.txt par3='100,200,300,' myScript.csh

非常感谢,

【问题讨论】:

    标签: csh pbs qsub torque


    【解决方案1】:

    它们只需要用逗号分隔:

    qsub -v var1="val1",var2=1,var3=val3 script.csh
    

    你的例子是:

    qsub -v par1='Cassie_score',par2=cassieFile.txt,par3='100,200,300,' myScript.csh
    

    请注意,这不会将 cassieFile.txt 移动到将运行作业的节点,因此 cassieFile.txt 需要是共享文件系统上某个位置的路径。

    【讨论】:

    • 如果我没记错的话,@dbeer 是(基本上)编写了在扭矩 >= 版本 4 中解析此选项的代码的人。
    • 哇~酷~非常感谢。它在一个小问题上运行良好。当我将 par3 设置为“100,200,300”时,myScript.csh 只能获得第一个值 100。我猜它假设这是分隔符。有什么方法可以确保变量 par3 得到字符串的其余部分? (该字符串将作为远程运行的某些模型的输入设置,因此这3个值之间的逗号分隔符不能更改。我无法控制字符串的格式。)非常感谢,
    • 我最终使用空格分隔符来分隔字符串中的数字并重新添加逗号。
    • @Cassie:如果您不指定值,则会从环境中复制该值。您可以使用它通过以下方式获取逗号分隔值:setenv par3 100,200,300; qsub -v par1='Cassie_score',par2=cassieFile.txt,par3 myScript.csh
    猜你喜欢
    • 2014-02-10
    • 2013-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多