Обновление в августе 2018 года: этот ответ был написан до появления bookdown, что является более мощным подходом к написанию книг Rmarkdown. Посмотрите минимальный пример bookdown в ответе @ Mikey-Harper!
Когда я хочу разбить большой отчет на отдельный Rmd, я обычно создаю родительский Rmd и включаю главы как дети. Этот подход легко понять новым пользователям, и если вы включаете оглавление (toc), легко перемещаться между главами.
report.Rmd
---
title: My Report
output:
pdf_document:
toc: yes
---
```{r child = 'chapter1.Rmd'}
```
```{r child = 'chapter2.Rmd'}
```
Глава 1.Rmd
# Chapter 1
This is chapter 1.
```{r}
1
```
chapter2.Rmd
# Chapter 2
This is chapter 2.
```{r}
2
```
Build
rmarkdown::render('report.Rmd')
Что производит: [/g0]
И если вы хотите быстро создать куски для ваших дочерних документов:
rmd <- list.files(pattern = '*.Rmd', recursive = T)
chunks <- paste0("```{r child = '", rmd, "'}\n```\n")
cat(chunks, sep = '\n')
# ```{r child = 'chapter1.Rmd'}
# ```
#
# ```{r child = 'chapter2.Rmd'}
# ```
Есть много способов сделать это. Это один из подходов, который использует арифметическое расширение ( https://www.gnu.org/software/bash/manual/html_node/Arithmetic-Expansion.html ).
if [ $(( num + 8 )) -lt 100 ]; then
num=$(( num + 8 ))
fi
echo $num > storage.txt
В большинстве (если не во всех) оболочках Unis все переменные хранят строки. Концепция преобразования в целое число не существует.
Но некоторые операции могут принимать строки в качестве входных данных, внутренне преобразовывать их в целые числа, выполнять операцию и возвращать результат в виде строки.
В bash то, что вы намерены делать, может быть записано как:
if [ $(($num + 8)) -lt 100 ]
then
num=$((num+8))
fi