gpt4 book ai didi

linux - 如何让 R 读取我的环境变量?

转载 作者:IT王子 更新时间:2023-10-29 00:19:38 25 4
gpt4 key购买 nike

我在 EC2 spot 实例上运行 R,我需要 R 来终止实例并在脚本运行后取消 spot 请求。

为此,我已将“请求 ID”设置为 /.bashrc 中的环境变量,我的计划是在脚本准备好后将以下代码简单地调用到 R 中

system("ec2-cancel-spot-instance-requests $SIR")

我遇到的问题是,当我从 R 外部键入 env 时,R 没有“看到”相同的环境变量,因此该命令不起作用。

我已经检查过,如果我在 /etc/environment 中设置我的环境变量,R 能够看到这些变量,但这是另一个问题。由于这些变量是动态的(每次创建 spot 实例时实例 ID 和请求 ID 都不同),我正在运行一个脚本以以下形式创建它们:

export SIR=`cat /etc/ec2_instance_spot_id.txt`

该文件包含动态 ID 的位置

那么,我怎样才能将“动态”环境变量插入到 /etc/environment 中呢?或者,如何让 R 读取位于 /.bashrc 的环境变量?

最佳答案

你想要 Sys.getenv() 就像在 Sys.getenv("PATH") 中一样,比如说。

或者对于你的例子,试试

SIR <- Sys.getenv("SIR")   
system(paste("ec2-cancel-spot-instance-requests", SIR))

关于在启动时设置变量,参见help(Startup)了解~/.Renvironment

关于linux - 如何让 R 读取我的环境变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12291418/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com