Команда не найдена после установки источника в bash-скрипте
Следуйте инструкциям здесь, и все отлично работает вручную. Однако, когда я использую инструкции в скрипте 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 ответ
Решение
Это связано с тем, что подоболочка скрипта не работает в интерактивном режиме, и в этом случае ~/.bashrc
по умолчанию ничего не делает Вы можете использовать любой из обходных путей, описанных в этом и этом ответе, или просто позвонить rbenv
с полным путем в последней строке:
$HOME/.rbenv/bin/rbenv install 2.3.1
Обратите внимание, что для Космического и далее есть rbenv
пакет в репозиториях.