R Sys.getenv()返回错误的值

R Sys.getenv()返回错误的值,r,environment-variables,rscript,R,Environment Variables,Rscript,我在ubuntu中使用R。返回的环境变量值错误。我将环境变量设置为一个值。磁盘崩溃后,我更改了它的值。但是,R将始终返回旧值。我不知道R在哪里缓存旧值,并坚持返回旧值 环境变量的新值 启动一个新的R终端 现在尝试将环境变量设置为新值 启动一个新的R终端,仍然会得到旧的值 不知道为什么R如此顽固,以至于记住了旧的值。有人能提出解决这个问题的方法吗?这个问题出现在R会话和Rscript文件中。我找到了问题的根源。其他人在根目录中设置了R环境。这样,环境总是硬编码的值。我正在使用Linux,这应该适用

我在ubuntu中使用R。返回的环境变量值错误。我将环境变量设置为一个值。磁盘崩溃后,我更改了它的值。但是,R将始终返回旧值。我不知道R在哪里缓存旧值,并坚持返回旧值

环境变量的新值 启动一个新的R终端 现在尝试将环境变量设置为新值 启动一个新的R终端,仍然会得到旧的值
不知道为什么R如此顽固,以至于记住了旧的值。有人能提出解决这个问题的方法吗?这个问题出现在R会话和Rscript文件中。

我找到了问题的根源。其他人在根目录中设置了R环境。这样,环境总是硬编码的值。我正在使用Linux,这应该适用于大多数人

in the /etc/R directory
ls
ldpaths  Makeconf  Renviron  Renviron.site  repositories  Rprofile.site
您可以在Renviron和Renviron.site中设置环境变量 这台机器上的所有R会话都将看到这些。格式与 贝壳所用的那些

VARNAME=somevalue

在用户的主目录中,可以通过在“.Renviron”文件中重新定义KEY=value对来覆盖这些值。可以将新的环境变量添加到此文件中。我还没有确认R会从用户的shell中学习和记住环境变量。其他人可以稍后更新。

您是否将环境变量更改为sudo?
> Sys.setenv(WFDATA='/current/environment/value')
> Sys.getenv('WFDATA')
[1] "/current/environment/value"
> q()
Save workspace image? [y/n/c]: y
> Sys.getenv('WFDATA')
[1] "/old/environment/value"
> 
in the /etc/R directory
ls
ldpaths  Makeconf  Renviron  Renviron.site  repositories  Rprofile.site
VARNAME=somevalue