RMarkdown accessing parameter from bash chunk RMarkdown accessing parameter from bash chunk bash bash

RMarkdown accessing parameter from bash chunk


I've seen a few options

  1. Use Sys.setenv to export variables from R to bash, so add this line to an R chunk.

    Sys.setenv(params = params$myParam1)

  2. Use the runr package


To apply the export-to-envirnoment idea from the accepted answer to all params, just add the following do.call loop to an R chunk before the bash chunk:

```{r, echo=FALSE, message=FALSE}for (key in names(params)) {  do.call('Sys.setenv', params[key])}```


Thanks Chris S, this works fine.I share the workaround I used (create tmp file) in case someone would be interested :

---output: html_documentparams:  myParam1:    label: "Choose 1st parameter"    value: 20    input: slider    min: 0    max: 100  myParam2:    label: "Choose 2nd parameter"    value: "Hello"    input: text---```{r setup, include=FALSE}knitr::opts_chunk$set(echo = TRUE)```

Chris solution :

```{r, echo=FALSE}Sys.setenv(param1=params$myParam1)Sys.setenv(param2=params$myParam2)``````{bash, echo=FALSE}echo $param1echo $param2```

My workaround :

```{r}param1 <- paste0("param1=\"",params$myParam1,"\"")param2 <- paste0("param2=\"",params$myParam2,"\"")# Write parameters in temporary filefileConn <- file("~/params.tmp")writeLines(c(param1,param2), fileConn)close(fileConn)``````{bash, echo=FALSE}. ~/params.tmprm ~/params.tmpecho $param1echo $param2```