.Этот минимальный скрипт демонстрирует:
#!/usr/bin/env bash
rvm gemset use "testing"
Я даже попробовал инструкции со страницы Сценарии RVM (хотя это и не казалось необходимым):
#!/usr/bin/env bash
# Load RVM into a shell session *as a function*
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then
# First try to load from a user install
source "$HOME/.rvm/scripts/rvm"
elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then
# Then try to load from a root install
source "/usr/local/rvm/scripts/rvm"
else
printf "ERROR: An RVM installation was not found.\n"
fi
rvm gemset use "testing"
Тем не менеенет.
Интересно, что если я попытаюсь запустить сценарий, не создав сначала «тестовый» набор гемов, я получу ERROR: Gemset 'testing' does not exist, rvm gemset create 'testing' first.
Однако, если я создаю набор гемов и затем запускаю сценарий, я не получаю выводиз скрипта и гемсета не изменяется (согласно rvm info
).Я могу выполнить другие RVM-действия с наборами гемов, такие как создание наборов гемов и доверять .rvmrc
файлам, из скрипта.
[Update]
Конечно, среда меняется , как указано вызовом rvm info
из скрипта.Как заставить эти изменения сохраниться / повлиять на вызывающую оболочку?Или, если это невозможно (как указано здесь ), есть ли способ установить текущий набор гемов RVM на основе ввода в скрипт?