我希望在Rmarkdown的bash块中设置一个环境变量,并在后续的R块中访问它。本质上,我想做与这个问题相反的事情,这个问题已经被回答了很多次:RMarkdown accessing parameter from bash chunk
我可以使用R将参数传递到bash块中:
Sys.setenv(MY_PARAM = 'param value')
并在bash中访问它:
echo $MY_PARAM
参数值
但是当我尝试在bash中存储环境变量时,我无法在稍后的R中访问它:
再次进入bash:
export MY_PARAM2="param value"
echo $MY_PARAM2
参数值
一个后续的 R 代码块:
Sys.getenv('MY_PARAM2')
[1] " "
如果有其他想法可以从bash代码块中传递变量以在后续块中使用。以下是完整的Rmarkdown代码:
```{r}
Sys.setenv(MY_PARAM = 'param value')
```
```{bash}
echo $MY_PARAM
```
```{bash}
export MY_OTHER_PARAM="param value"
echo $MY_OTHER_PARAM
```
```{r}
Sys.getenv('MY_OTHER_PARAM')
```
Sys.getenv(...)
,例如:system(command = 'echo %MY_PARAM2%', intern = TRUE)
。 - Tonio Liebrandsystem(command = 'echo MY_OTHER_PARAM: $MY_OTHER_PARAM')
会产生输出MY_OTHER_PARAM:
。 - Patrick