是否可以使用engine =“bash”在knitr块之间共享变量?

前端之家收集整理的这篇文章主要介绍了是否可以使用engine =“bash”在knitr块之间共享变量?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
像这样的东西,但它不起作用:
```{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,也适用于编织器中的所有其他引擎,如python,ruby等.目前它不起作用的原因是knitr只是通过系统运行代码(‘engine -arg code’),即对于每个代码块,打开一个新的引擎会话,因此所有的块基本上都在不同的进程中执行.

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

原文链接:https://www.f2er.com/bash/384295.html

猜你在找的Bash相关文章