web-dev-qa-db-ja.com

bashスクリプトでソースを設定した後にコマンドが見つかりません

here の指示に従うと、すべてが手動で正常に機能します。ただし、bashスクリプトで命令を使用すると、rbenv command not foundが正しく実行されなかったため、source ~/.bashrcが表示されます。どうしたの?私はこれまでに他の何かに遭遇したように感じます...

*実行ビットが設定され、dos2unixが実行され、#!/bin/bashが先頭にあります。

#!/bin/bash

git clone https://github.com/rbenv/rbenv.git ~/.rbenv
echo 'export PATH="$HOME/.rbenv/bin:$PATH"' >> ~/.bashrc
echo 'eval "$(rbenv init -)"' >> ~/.bashrc
source ~/.bashrc
git clone https://github.com/rbenv/Ruby-build.git ~/.rbenv/plugins/Ruby-build
rbenv install 2.3.1
1
user58446

これは、スクリプトサブシェルがインタラクティブに実行されないためです。この場合、~/.bashrcはデフォルトで何もしないように設定されます。 this および this answer で説明されている回避策のいずれかを使用するか、最後の行にフルパスを指定してrbenvを呼び出すことができます。

$HOME/.rbenv/bin/rbenv install 2.3.1

Cosmic以降では、リポジトリに rbenvパッケージ があります。

0
dessert