Używam knitr do tworzenia raportu o przecenach dla niektórych poleceń basha. Jednak moje operacje obejmują zmianę katalogu i stworzenie pliku tam, więc to byłoby idealne, jeśli mogę użyć cd
w moim .Rmd pliku:knitr z bash: zmień katalog roboczy
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
```
Jednak plik myfile
jest tworzony w katalogu, z którego skompiluj dokument pod numerem knit
, a nie pod mytest
. Domyślam się, że nowa powłoka bash jest uruchamiana dla każdego fragmentu kodu.
Widziałem dyskusje na temat ustawienia cwd
w R (https://github.com/yihui/knitr/issues/277), ale nie dla bash.
Czy istnieje sposób na ustawienie katalogu roboczego dla fragmentu kodu?
Czy przyjrzeć 'opts_knit $ zestawu (root.dir = "... ")' i 'setwd (" ...")'? – pfuhlert
Tak, ale są to obie funkcje R i nie mam żadnego kodu R w moich fragmentach. Używam tylko R, aby wywołać 'knit'. Tak więc nie widzę możliwości zmiany cwd między fragmentami ... – user1981275
Jest to znany problem. Proszę zobaczyć ostatni akapit http://yihui.name/knitr/demo/engines/ Zobacz także https://github.com/yihui/runr Nie jestem całkiem pewien, czy runr nadal działa dobrze pod względem 'bash 'silnik. –