Załóżmy, że potrzebujemy napisać skrypt który odpala nam kod w Rubym. Kod ten działa jednak tylko pod specyficzną wersją Rubiego (lub nie działa pod 1.9.2, itd). Jeśli chcielibyśmy zrobić to tak:
rvm system ruby /~/nasz_program.rb
okaże się, że skrypt się nie odpali (tzn odpali ale pod niepoprawną wersją Rubinka).
Spróbujmy zatem tak:
rvm system ruby -v
U mnie - domyślną wersją jest wersja 1.9.2-p0, zaś systemowa to 1.8.7. Wywołanie takiego skryptu nie zmieni nam jednak wersji Rubiego na wersję systemową. Aby móc zmieniać dynamicznie wersje Rubiego serwowaną przez RVM musimy dodać do naszego skryptu taki oto kod:
if [[ -s "$HOME/.rvm/scripts/rvm" ]] ; then source "$HOME/.rvm/scripts/rvm" elif [[ -s "/usr/local/rvm/scripts/rvm" ]] ; then source "/usr/local/rvm/scripts/rvm" else printf "ERROR: An RVM installation was not found.\n" fi
dzięki temu, będziemy mogli sobie dynamicznie zmieniać Rubiego z jakiego korzystamy wewnątrz skryptu.