我在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
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 举报,一经查实,本站将立刻删除。