linux 传递环境变量,关于linux:将环境变量传递给qsub作业

我想在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:请参阅我的更新,您需要稍微重新排序命令行的元素。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 在 PBS 提交作业时,你可以使用 `-l environment=value` 参数来指定环境。例如: ``` qsub -l environment=myenv jobscript ``` 其中 `myenv` 是你希望使用的环境的名称,`jobscript` 是你要提交的作业脚本的文件名。 注意,你需要预先在计算机系统上定义这个环境,并且你需要有足够的权限来使用它。 ### 回答2: 当使用PBS(Portable Batch System)来提交作业时,我们可以通过指定环境来确保作业在特定环境中执行。 首先,我们需要在PBS作业脚本中指定所需的环境。这可以通过在PBS脚本的开头使用特定的指令来实现。例如,我们可以使用“#PBS”指令来设置环境变量,指定作业所需的软件包和库,以及其他必要的参数。 如果我们想在特定的节点上运行作业,我们可以使用“#PBS -l nodes=<node>:ppn=<num>”指令来指定节点和每个节点的任务数。其中,<node>表示节点的名称或节点数,<num>表示每个节点的任务数。这样,作业将被限制在指定的节点和任务数上运行。 另外,我们还可以使用“#PBS -q <queue>”指令来指定作业提交到哪个队列中。队列是根据计算资源可用性而创建的。通过将作业提交到适合的队列,我们可以更好地管理作业的调度和资源分配。 当我们完成PBS作业脚本的编写后,我们可以使用“qsub”命令将作业提交到PBS系统中。同时,我们还可以使用“qstat”命令来查看作业的状态和资源使用情况。 总之,通过在PBS作业脚本中指定环境相关的参数和指令,我们可以确保作业在特定的环境中执行,并根据需求进行资源分配和管理。 ### 回答3: 在提交PBS作业时,我们可以通过指定环境来确保作业能够在特定的环境中正确运行。以下是一些指定PBS作业环境的方法: 1. 在PBS脚本中指定环境变量:可以使用PBS脚本中的export命令,通过设置环境变量来指定特定的环境。例如,可以设置PATH变量以确保使用特定版本的软件。 2. 使用module命令加载环境模块:许多HPC集群提供了module命令,可以用来加载和管理不同的软件环境模块。通过使用module命令,可以加载所需的软件环境模块,并在PBS脚本中调用所需的软件。 3. 使用PBS的软件模块:一些PBS作业管理系统提供了自带的软件模块管理功能。可以使用这些功能来指定特定的软件环境。例如,可以使用PBS的module命令加载和管理所需的软件环境模块。 4. 在PBS脚本中使用特定的执行命令:如果需要在作业提交时指定特定的命令或程序执行环境,可以在PBS脚本中直接使用这些命令。例如,可以在PBS脚本中执行conda activate命令来激活特定的conda环境。 总而言之,指定PBS作业环境可以通过设置环境变量、加载环境模块、使用PBS的软件模块或在PBS脚本中直接执行特定的命令来实现。这样可以确保作业在特定的环境中执行,从而提高作业的准确性和可靠性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值