首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >参数用于使用qsub启动的shell脚本。

参数用于使用qsub启动的shell脚本。
EN

Stack Overflow用户
提问于 2010-08-17 15:22:54
回答 4查看 34.9K关注 0票数 49

如何将网格上执行的shell脚本参数化(从qsub开始)?我有一个shell脚本,其中我使用getopts读取参数。

当我开始(qsub script.sh -r firstparam -s secondparam .)这个具有qsub I的工作脚本接收错误消息,

qsub:无效选项-- s qsub:非法-r值

正如qsub所认为的那样,参数是针对自身的。然而,我没有找到任何解决办法。

谢谢

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2010-09-01 13:25:17

我刚刚想出了解决这个问题的方法:只需打印带有echo的shell脚本的命令,并将结果传输到qsub:

echo "./script.sh var1=13 var2=24" | qsub

票数 22
EN

Stack Overflow用户

发布于 2011-01-19 10:07:38

使用qsub -v选项是正确的方法:

代码语言:javascript
复制
qsub -v par_name=par_value[,par_name=par_value...] script.sh

par_name可以用作shell脚本中的变量。

票数 45
EN

Stack Overflow用户

发布于 2013-06-12 15:05:15

除了volk的答案之外,为了引用列表中的变量(由-v指定),只需使用调用中定义的名称。那么,假设您给qsub打了一个电话,如下所示

qsub -v foo='qux' myRunScript.sh

那么myRunScript.sh看起来可能是这样的:

代码语言:javascript
复制
#!/bin/bash
#PBS -l nodes=1:ppn=16,walltime=0:00:59
#PBS -l mem=62000mb
#PBS -m abe

bar=${foo}
echo "${bar}"

输出将在哪里

代码语言:javascript
复制
qux

希望这能有所帮助!

票数 38
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3504081

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档