15.4 シェルスクリプトを実行する

あなたが好んでいるシェルに応じて, bashshzsh エンジンでシェルスクリプトを実行できます. 以下はチャンクヘッダ ```{bash} を使った bash の例です.

ls *.Rmd | head -n 5
## index.Rmd
## rmarkdown-cookbook.Rmd

bash は R の system2() 関数で呼び出されていることに注意してください. ~/.bash_profile~/.bash_login のようなプロファイルにある, あなたの定義したコマンドのエイリアスや PATH などの環境変数は無視されます. ターミナル上でシェルを使っている時のようにこれらのプロファイルがほしいなら, engine.opts を介して -l 引数を与えることもできます. これが例です.

```{bash, engine.opts='-l'}
echo $PATH
```

-l 引数を全ての bash チャンクで有効にしたいなら, 文書の冒頭でグローバルチャンクオプションに設定することもできます.

knitr::opts_chunk$set(engine.opts = list(bash = "-l"))

チャンクオプション engine.opts に文字列ベクトルとして他の引数を bash に与えることもできます.