在编织BASH块中回显的$ PATH缺少了我的MACOS终端中$ PATH的某些路径。 这是为什么?有什么方法可以在knitr中的bash引擎中设置与终端相同的默认$ PATH?
1-编织:
```{bash}
echo $PATH
```
/ usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / bin:/ Applications / VMware Fusion.app/Contents/Public:/Library/TeX/texbin:/opt/X11/ bin:/ opt / local /
2-在终端中:
echo $PATH
/opt/local/bin:/opt/local/sbin:/Users/xxx/miniconda3/bin:/Library/Frameworks/Python.framework/Versions/3.6/bin:/usr/local/bin:/usr / bin:/ bin:/ usr / sbin:/ sbin:/ usr / local / mysql / bin:/ Applications / vcflib / bin:/ Applications / bedtools
答案 0 :(得分:2)
那是因为在OSX / MacOS中通过GUI启动外壳程序时,.profile
(以及.bash_profile
,.bashrc
)没有运行。本质上是login shell and a non-login shell
在终端中,运行cat ~/.profile
来查看.profile
包含的内容。不同的用户会有所不同,您可以自由地根据自己的喜好进行修改。
有多种方法可以使R中的$PATH
与.profile
匹配。最直接的方法是使用Sys.setenv(PATH=...)
添加路径,但这仅适用于每个会话,当您重新启动R时它将被重置。一个更永久的选择是将Sys.setenv(PATH=...)
放在.Rprofile
中,或者在PATH
中定义.Renviron
。