我在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
等
问题内容: 这可能是一个非常简单的问题,但是我找不到谷歌的答案,所以我很着急-因此,我希望能使用快速的示例代码。 我想使用Java代码在OS上读取一个环境变量。我已经尝试过了System.getProperty,但这似乎只对-D直接为JVM提供的变量有效。 我的Java代码如何读取OS变量? 问题答案: 尝试System.getenv(字符串名称)
我正在尝试使用在我的Quarkus应用程序中读取环境变量,但没有成功。我认为仅指定变量名应该就足够了,但它不起作用: 我还尝试在应用程序中指定一个属性。属性 读起来就像 但变量始终为空。 我错过什么了吗?在Quarkus中读取环境变量的正确方法是什么 我正在使用Quarkus 1.2.0。最终的
5.3.1 $%envVarName% 当编译时,$%envVarName% 将会被环境变量 envVarName 替换。
问题内容: 有没有办法在Node.js代码中读取环境变量? 例如Python的。 问题答案: process.env.ENV_VARIABLE 您要访问的变量的名称在哪里。
在SpringBoot中读取环境变量的最佳方法是什么? 在Java中,我使用了以下方法: 是否可以使用注释来实现?
在Jenkins中,我试图设置一个动态环境变量。 我使用Scriptler创建了一个Groovy脚本并将结果写入文件。 然后,我使用EnvInject来读取该文件的内容。 Groovy脚本: 设置: 但是,我想要设置的环境变量仍然无法识别: 知道为什么无法识别环境变量吗?