Skip to main content

Ruby version and gemset in your Bash prompt? Yes sir!

·162 words·1 min· ·
Ruby Bash Rvm Gemset Profile
Ariejan de Vroom
Author
Ariejan de Vroom
Jack of all Trades, Professional Software Craftsman

RVM is an easy way to switch between different ruby implementations and gemsets. If you don’t know about it, go check it out. If you do know about, you’ll know how annoying it is never to know which ruby version and gemset you’re currently using. Here is a nice .profile hack that shows your current ruby version and optional gemset in your prompt.

Firstly, add the following function to your ~/.profile:

function rvm_version {
    local gemset=$(echo $GEM_HOME | awk -F'@' '{print $2}')
    [ "$gemset" != "" ] && gemset="@$gemset"
    local version=$(echo $MY_RUBY_HOME | awk -F'-' '{print $2}')
    [ "$version" != "" ] && version="@$version"
    local full="$version$gemset"
    [ "$full" != "" ] && echo "$full "
}

Next, you can use this function in your prompt. Like this:

export PS1="\$(rvm_version) \w \$(parse_git_branch) \$ "

The results? For standard ruby 1.8.7

@1.8.7 ~ $

Or with the rails3 gemset enabled:

@1.8.7@rails3 ~ $

So, now you always know which ruby you’re using! Happy coding!

Related

Really? Another Sinatra URL Shortener in Ruby?
·64 words·1 min
Ruby Sinatra Urls Shortening Base62
Installing the Nokogiri ruby gem on Debian
·51 words·1 min
Linux Ruby Debian Rubygems Nokogiri Gems
Shields up! Rrrack alert!
·287 words·2 mins
Wordpress Ruby Toto Rack