将环境变量传递给 qsub 作业

par*_*par 1 linux qsub

我想将一个字符串添加到 qsub 命令的 PATH 环境变量中。编辑 .sh 文件不是一个选项,因为它是在管道内生成并运行的(我可以编辑 qsub 命令选项)。

我正在运行以下 qsub 命令:

qsub -pe 插槽 16 -S /bin/bash -cwd -N "管道" -jy -o /home/user/log/out.log /home/user/pipeline/runthis.sh

我需要将以下 PATH 环境变量添加到正在运行的 shell 中:

/home/用户/jre1.8.0_66/bin

(这是因为该脚本依赖于比集群上更新版本的 java)。

我尝试了以下方法:

qsub -pe 插槽 16 -S /bin/bash -cwd -N "管道" -jy -o /home/user/log/out.log /home/user/pipeline/runthis.sh -v PATH=/home/pa354 /jre1.8.0_66/bin:$PATH -V

这不起作用,我将“env”添加到正在运行的bash文件中(以检查环境变量),但尚未添加我所需的路径。

Joh*_*nck 5

您需要-vqsub命令中使用:

qsub -v JAVA_HOME ...
Run Code Online (Sandbox Code Playgroud)

这会将环境变量从调用环境传递到生成的作业中。

请注意, 的-v参数qsub必须位于您在远程节点上运行的实际命令的参数之前。您似乎已经在整个命令行的末尾尝试过它,但这是行不通的。