2016-10-26 5 views
1

私はbashをmac osxのバージョン4.4.0にアップデートしました。しかし、this questionで説明されているように、bin/bashでbashバージョンを更新することはできません。/usr/local/bin/bashポイントknitrからbash 4 to mac

このシェルにはどのように指すことができますか? engine.pathは無視されますようだ:

```{r, engine='bash', engine.path='/usr/local/bin/bash'} 
which bash 
``` 

はケビン@

/binに/ bashの

更新

を与える:はい、あなたは正しいです、echo $BASH/usr/local/bin/bash

を与えます

しかし:knitr

```{bash, engine.path='/usr/local/bin/bash'} 
which bash 
echo $BASH 
bash --version 
``` 

から

/binに/ bashの

は/ usr/local/bin/bashの

GNUのbashのバージョンを提供します3.2.57(1)-release(x86_64-apple-darwin15) 著作権(C)2007 Free Software Foundationが、株式会社

同じコマンドラインから再読み込みした後

enter image description here

編集2

を与えながら、 @ケビンの答えはです。

```{r, engine = "bash", engine.path = "/usr/local/bin/bash"} 
export PATH="/usr/local/bin:$PATH" 

bash --version 
``` 

GNUのbashのは、バージョン4.4.0(1)-release(x86_64版 - アップル-darwin15.6.0)

答えて

1

echo $BASH印刷を行いますか? PATH/usr/local/binの前に/usr/binを持っている可能性があります。/usr/local/binPATHにはありません。例えば

、私が見る:

enter image description here

engine.pathが実際に尊重されていることを示します。

+0

私が不完全なパスを与えると、 '' '/ bin/sh:/ usr/local/bin /:ディレクトリです' 'というエラーメッセージが表示されます。 knitrがshを呼び出すbashではなく、 ''##bin/sh'''のいくつかのバージョンを使用していたのでしょうか?http://stackoverflow.com/questions/5725296/difference-between-sh-and-bash:この質問で提案されているように、そのshが、システムのbashへのシンボリックリンクですか?しかし、エル・キャピタンの下では、「無根」モードでリンクを変更することは(簡単に)可能ではありません(http://stackoverflow.com/questions/32659348/operation-not-permitted-when-on-root-el-capitan-rootless無効) – Latrunculia

関連する問題