繁体   English   中英

在 Ubuntu 上的 R Shiny App 中读取环境变量的最简单方法是什么?

[英]What is the simplest way to read an environment variables in R Shiny App on Ubuntu?

我想从闪亮的应用程序 R 脚本中删除凭据。 该应用程序在运行 Ubuntu 20 的虚拟机上的闪亮应用程序开源服务器的内部实例上运行。我正在寻找的解决方案是:

  1. 在 Ubuntu 中设置环境变量
  2. 启动 R 终端并运行 Sys.getenv('myvariable'),并返回值

我已经尝试了以下

将变量添加到 ~/.profile

通过在底部添加变量后

sudo nano ~/.profile

我保存了 ~/.profile,注销并重新登录(从其他帖子推荐)。 在新的 bash shell 上,我可以输入

source ~/.profile
echo $myvariable

并找到期望值。

但是,当我打开 R 终端并输入

Sys.getenv('myvariable') 

返回值为空

通过 Sys.setenv() 在 R 中添加变量

下一个选项涉及在 R 中设置变量。我会输入

Sys.setenv(myvariable='my value')
Sys.getenv('myvariable')

并打印期望值。 但是,如果我退出会话,则不会在新会话中维护这些值。

此外,在使用 Sys.setenv() 设置值后,我尝试了 save() 和 save.image()。 当我加载 .RData 文件时,变量为空。

这很有可能是小事,但到目前为止我还没有找到其他任何东西,所以我们在这里。

Jon Manese 上面的回答对我来说是最好的解决方案。

我访问了/etc/R/Renviron ,并添加了我需要的变量。 之后,我能够通过Sys.getenv()从 R 终端引用变量


还想提一下...在我编辑Renviron文件之前,我尝试将变量添加到~/.bashrc文件中。 在那里添加变量后,我能够在 bash 终端中引用这些变量,无需使用source命令。 当变量被添加到~/.profile ,我必须找到source ~/.profile才能在 bash 中引用。

但是,在编辑Renviron文件之前,我仍然无法通过Sys.getenv()从 R 终端进行Sys.getenv()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM