Tôi đang sử dụng knitr để tạo báo cáo đánh dấu cho một số lệnh bash. Tuy nhiên, hoạt động của tôi bao gồm thay đổi một thư mục và tạo ra một tập tin đó, vì vậy nó sẽ là lý tưởng nếu tôi có thể sử dụng trong tập tin cd
.Rmd tôi:knitr với bash: thay đổi thư mục làm việc
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
```
Tuy nhiên, các tập tin myfile
được tạo ra trong thư mục mà từ đó tôi biên soạn tài liệu với knit
và không phải trong mytest
. Tôi đoán một bash shell mới được bắt đầu cho mỗi đoạn mã.
Tôi đã thấy các cuộc thảo luận về việc đặt cwd
trong R (https://github.com/yihui/knitr/issues/277) nhưng không cho bash.
Có cách nào có thể đặt thư mục hoạt động cho đoạn mã không?
Bạn đã có một cái nhìn tại 'opts_knit $ set (root.dir = "... ") 'và' setwd (" ...") '? – pfuhlert
Có, nhưng đây là cả hai chức năng R và tôi không có bất kỳ mã R trong khối của tôi. Tôi chỉ sử dụng R để gọi 'đan'. Vì vậy, tôi không thấy một khả năng thay đổi cwd giữa các khối ... – user1981275
Đó là một vấn đề đã biết. Xin vui lòng xem đoạn cuối của http://yihui.name/knitr/demo/engines/ Cũng thấy https://github.com/yihui/runr Tôi không hoàn toàn chắc chắn nếu runr vẫn hoạt động tốt trong điều khoản của 'bash 'động cơ. –