我正在使用knitr制作一些bash命令的markdown报告。然而,我的操作包括改变一个目录,并创建一个文件在那里,所以这将是理想的,如果我能在我的.Rmd文件中使用cd
:knitr with bash:更改工作目录
make a directory
```{r mkdir, engine='bash'}
mkdir mytest
```
cd into directory
```{r cd, engine='bash'}
cd mytest
```
create file
```{r create, engine='bash'}
touch myfile
```
check contents
```{r ls, engine='bash'}
ls
```
但是,文件myfile
在目录中创建从我使用knit
而不是mytest
编译文档。我猜想每个代码块都会启动一个新的bash shell。
我已经看到有关在R(https://github.com/yihui/knitr/issues/277)中设置cwd
的讨论,但没有讨论bash。
有没有办法可以设置代码块的工作目录?
你看看'opts_knit $组(root.dir = “... ”)'和'setwd(“ ...”)'? – pfuhlert
是的,但这些都是R函数,而且我的大块中没有任何R代码。我只用R来调用'knit'。所以我没有看到在大块之间改变CWD的可能性...... – user1981275
这是一个已知的问题。请参阅http://yihui.name/knitr/demo/engines/的最后一段。另请参阅https://github.com/yihui/runr我不太确定Runr在bash方面是否仍然运行良好'引擎。 –