eng*_*bip 4 bash sungridengine
我想提交(系列)作业SGE(FWIW,它的Gromacs分子动力学模拟的序列),其中所有的作业,除了后缀相同,比如input01,input02等我写的命令以一种方式运行,后缀由命令序列正确处理.
但是,我找不到让exec环境接收该变量的方法.根据qsub手册页,-v var应该这样做.
$ export i=19
$ export | grep ' i='
declare -x i="19"
$ env | grep '^i='
i=19
Run Code Online (Sandbox Code Playgroud)
然后,我提交以下脚本(run.sh)以查看是否收到:
if [ "x" == "x$i" ]; then
echo "ERROR: \$i not set"
else
echo "SUCCESS: \$i is set"
fi
Run Code Online (Sandbox Code Playgroud)
我按如下方式提交作业(与export上面的命令在同一会话中):
$ qsub -N "test_env" -cwd -v i run.sh
Your job 4606 ("test_env") has been submitted
Run Code Online (Sandbox Code Playgroud)
错误流为空,输出流具有:
$ cat test_env.o4606
ERROR: $i not set
Run Code Online (Sandbox Code Playgroud)
我也尝试了以下命令,但未成功:
$ qsub -N "test_env" -cwd -v i -V run.sh
$ qsub -N "test_env" -cwd -V run.sh
$ qsub -N "test_env" -cwd -v i=19 -V run.sh
$ qsub -N "test_env" -cwd -v i=19 run.sh
Run Code Online (Sandbox Code Playgroud)
如果我i=19在开头添加一行run.sh,则输出为:
$ cat test_env.o4613
SUCCESS: $i is set as 19
Run Code Online (Sandbox Code Playgroud)
我现在正在考虑为每个作业生成一个文件,这个文件基本上是相同的,但是i=xx第一行会有一行.它看起来不太实用,但它将是一个解决方案.
会有更好的解决方案吗?
我一直在做的是以下内容:
##send.sh
export a=10
qsub ./run.sh
Run Code Online (Sandbox Code Playgroud)
和脚本run.sh:
##run.sh
#$ -V
echo $a
Run Code Online (Sandbox Code Playgroud)
当我调用send.sh时,.o的输出为10.
| 归档时间: |
|
| 查看次数: |
6953 次 |
| 最近记录: |