微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我如何让R读取我的环境variables?

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

为此,我在/.bashrc中将“请求ID”设置为一个环境variables,并且我的计划是在脚本准备就绪后,将以下代码简单地调用到R中

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

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

我已经检查,如果我在/etc/environment设置我的环境variablesR是能够看到这些variables,但这是另一个问题。 由于这些variables是dynamic的(每次创build实例实例时,实例ID和请求ID都是不同的),我正在运行一个脚本来创build它们,forms如下:

我可以在vim键盘映射中使用环境variables吗?

从Python修改Windows环境variables的接口

从Google Chrome扩展程序中读取环境variables

将java -versionredirect到文件或variables

如何添加删除系统的环境variables“path”?

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

那个文件包含dynamicID的地方

那么,如何将“dynamic”环境variables插入/etc/environment ? 或者,我如何让R读取/.bashrc的环境variables?

任何提示在正确的方向将非常感激!

如何在PATH中包含%ProgramFiles%?

如何保持使用“延迟扩展本地”模式的Windows批处理脚本以外的variables值?

Linux中每个正在运行的进程的$ PATHvariables

Windows 7 PATH环境variables扩展

在Windows上相当于$ _SERVER

你想Sys.getenv()在Sys.getenv("PATH") ,说。

或者为你的例子,尝试

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

至于在启动时设置变量,请参阅help(Startup)了解~/.Renvironment等

使用Sys.getenv()可以看到当前环境中列出的所有变量。

但是,它们与当前shell中使用的不同,例如在.profile中指定。

要设置R的变量,请在主目录中创建一个.Renviron文件并在其中写入

MYDIRECTORY="/home/wherever"

重新启动R之后,您将可以使用这个变量来访问这个变量

Sys.getenv("MYDIRECTORY")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐