我想在qsub命令的PATH环境变量中添加一个字符串。 编辑.sh文件不是一个选项,因为它是在管道中生成并运行的(我可以编辑qsub命令选项)。
我正在运行以下qsub命令:
qsub -pe slots 16 -S /bin/bash -cwd -N"pipeline" -j y -o
/home/user/log/out.log /home/user/pipeline/runthis.sh
我需要将以下PATH环境变量添加到正在运行的shell中:
/home/user/jre1.8.0_66/bin
(这是因为脚本依赖于比集群更新的java版本)。
我尝试了以下方法:
qsub -pe slots 16 -S /bin/bash -cwd -N"pipeline" -j y -o
/home/user/log/out.log /home/user/pipeline/runthis.sh -v
PATH=/home/pa354/jre1.8.0_66/bin:$PATH -V
这没有用,我在运行的bash文件中添加'env'(检查环境变量),我的所需路径尚未添加。
您需要在qsub命令中使用-v:
qsub -v JAVA_HOME ...
这会将环境变量从调用环境传递到生成的作业。
请注意,qsub的-v参数必须位于远程节点上运行的实际命令的参数之前。 你似乎已经在整个命令行的末尾尝试了它,这是行不通的。
是的,但我如何特别为PATH变量添加一个字符串。 我尝试过以下qsub -V,qsub -v PATH = / ... / .. / bin $ PATH,qsub -v PATH = / .. / .. / bin $ PATH -V。 我正在运行一个bash脚本,env输出没有显示任何PATH变量的添加。
@ParsaAkbari:请参阅我的更新,您需要稍微重新排序命令行的元素。