像这样的东西,但它不起作用:
```{r examples, engine="bash"}
export EXAMPLES="example/path"
```
```{r example1, engine="bash"}
echo $EXAMPLES
```
但是,这有效:
```{r examples2, engine="bash"}
export EXAMPLES="example/path"
echo $EXAMPLES
```
像这样的东西,但它不起作用:
```{r examples, engine="bash"}
export EXAMPLES="example/path"
```
```{r example1, engine="bash"}
echo $EXAMPLES
```
但是,这有效:
```{r examples2, engine="bash"}
export EXAMPLES="example/path"
echo $EXAMPLES
```
这是一个很好的问题!这也是我真正想要完成但不知道该怎么做的事情(如果有人可以帮助我,我很感激)。它不仅对 有用bash
,而且对knitr
like中的所有其他引擎也有用python
,ruby
依此类推。它目前不起作用的原因knitr
只是通过运行代码system('engine -arg code')
,即对于每个代码块,都会打开一个新的引擎会话,因此所有块本质上都是在不同的进程中执行的。
理想情况下,我想要一个能够打开会话并继续收听新代码的引擎,但我不确定这是否可能。AFAIK,共享变量的唯一方法是将它们写入文件,这显然很尴尬。