7

像这样的东西,但它不起作用:

```{r examples, engine="bash"}
    export EXAMPLES="example/path"
```

```{r example1, engine="bash"}
    echo $EXAMPLES
```

但是,这有效:

```{r examples2, engine="bash"}
    export EXAMPLES="example/path"
    echo $EXAMPLES
```
4

1 回答 1

4

这是一个很好的问题!这也是我真正想要完成但不知道该怎么做的事情(如果有人可以帮助我,我很感激)。它不仅对 有用bash,而且对knitrlike中的所有其他引擎也有用pythonruby依此类推。它目前不起作用的原因knitr只是通过运行代码system('engine -arg code'),即对于每个代码块,都会打开一个新的引擎会话,因此所有块本质上都是在不同的进程中执行的。

理想情况下,我想要一个能够打开会话并继续收听新代码的引擎,但我不确定这是否可能。AFAIK,共享变量的唯一方法是将它们写入文件,这显然很尴尬。

于 2012-11-11T21:05:17.487 回答