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



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

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

我已经尝试了以下

添加变量到~/.profile

通过

在底部添加变量后
sudo nano ~/.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中引用。

然而,我仍然不能通过Sys.getenv()从R终端引用,直到Renviron文件被编辑。

相关内容

  • 没有找到相关文章

最新更新