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.