如何将网格上执行的shell脚本参数化(从qsub开始)?我有一个shell脚本,其中我使用getopts读取参数。
当我开始(qsub script.sh -r firstparam -s secondparam .)这个具有qsub I的工作脚本接收错误消息,
qsub:无效选项-- s qsub:非法-r值
正如qsub所认为的那样,参数是针对自身的。然而,我没有找到任何解决办法。
谢谢
发布于 2010-09-01 13:25:17
我刚刚想出了解决这个问题的方法:只需打印带有echo的shell脚本的命令,并将结果传输到qsub:
echo "./script.sh var1=13 var2=24" | qsub
发布于 2011-01-19 10:07:38
使用qsub -v选项是正确的方法:
qsub -v par_name=par_value[,par_name=par_value...] script.shpar_name可以用作shell脚本中的变量。
发布于 2013-06-12 15:05:15
除了volk的答案之外,为了引用列表中的变量(由-v指定),只需使用调用中定义的名称。那么,假设您给qsub打了一个电话,如下所示
qsub -v foo='qux' myRunScript.sh
那么myRunScript.sh看起来可能是这样的:
#!/bin/bash
#PBS -l nodes=1:ppn=16,walltime=0:00:59
#PBS -l mem=62000mb
#PBS -m abe
bar=${foo}
echo "${bar}"输出将在哪里
qux希望这能有所帮助!
https://stackoverflow.com/questions/3504081
复制相似问题