如何让R读取我的环境变量?
我在EC2竞价型实例上运行R,并且需要R终止实例并在脚本运行后取消竞价请求。
为此,我在环境变量中设置了“请求ID” /.bashrc
,我的计划是在脚本准备好后将以下代码简单地调用到R中
system("ec2-cancel-spot-instance-requests $SIR")
我遇到的问题是R无法“看到”我env
从外部R 键入时看到的相同环境变量,因此该命令无法正常工作。
我已经检查了一下,如果我将环境变量设置为/etc/environment
R,就可以看到这些变量,但这是另一个问题。由于这些变量是动态的(每次创建竞价型实例时,实例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
等
以上是 如何让R读取我的环境变量? 的全部内容, 来源链接: utcz.com/qa/407798.html