Мне интересно, как на самом деле работают RVM и rbenv.
Очевидно, они переключаются между разными версиями Ruby и гемсетами, но как этого добиться? Я предполагал, что они просто обновляют символические ссылки, но, вникнув в код (и я должен признать, что мои знания о Bash поверхностны), похоже, они делают больше, чем это.