R中Sys.getenv('PATH')和shell(“PATH”)之间有什么区别?

时间:2017-07-26 15:23:10

标签: r windows rstudio

我试图在R中为两台计算机安装一个软件包。

在我的笔记本电脑A上,它已成功安装,而对于另一台B,我无法安装它。然后我在谷歌搜索了几个小时,并意识到问题可能在于系统(或环境,我不确定这两个词是否相等)varibles。

我在笔记本电脑A上使用了Sys.getenv('PATH')shell("PATH"),它生成了完全相同的结果,但在Sys.getenv('PATH')下,所有目录都在{{ 1}},它是shell("PATH")。这是唯一的区别。

然后我试着看看在计算机B上,我无法安装R包,\Sys.getenv('PATH')会产生相同的结果。我发现shell("PATH")给出了一组以;分隔的合理目录,但Sys.getenv("PATH")表示

shell("PATH")

R中的Sys.getenv('PATH')和shell(“PATH”)有什么区别?计算机A在Windows7上,计算机B在Windows10上

1 个答案:

答案 0 :(得分:0)

#columnleft, #columnright { float: none; width: 100%; } #columnright { display: block ! important; clear: right; margin-left: 0; } 将检索系统变量(您可以在系统属性中查看变量 - >环境变量,或者只需在Windows本地搜索中搜索环境变量)。在您的情况下,Sys.getenv将检索PATH环境变量。

Sys.getenv('PATH')将在cmd上运行shell('PATH')命令。我已经看到它可能无法在所有Windows发行版上正常工作。

PATH/这两个函数的结果相同。在一种情况下,结果为// ed,而在另一种情况下为print ed:

cat

通常,对于获取窗口print('\\') #[1] "\\" cat('\\') #\ PATH应该更可靠,但如果两个函数都有效,则结果相同。