#!/usr/bin/env bash -e print_set_version() { echo " should be a string matching a Ruby version known by rbenv." local versions="$(rbenv-versions --bare)" if [ -z "$versions" ]; then echo "There are currently no Ruby versions installed for rbenv." else echo "The currently installed Ruby versions are:" echo "$versions" | sed 's/^/ /' fi echo echo "The special version string 'system' will use your default system Ruby." } case "$1" in "") echo "usage: rbenv [] Some useful rbenv commands are: commands List all commands rehash Rehash rbenv shims (run this after installing binaries) set-default Set the default Ruby version set-local Set a local directory-specific Ruby version version Show the current Ruby version versions List all Ruby versions known by rbenv See 'rbenv help ' for more information on a specific command. For a quick guide to rbenv, see: https://gist.github.com/1120938" ;; set-default) echo "usage: rbenv set-default Sets the default Ruby version. You can override the default at any time by setting a directory-specific version with \`rbenv set-local' or by setting the RBENV_VERSION environment variable. $(print_set_version)" ;; set-local) echo "usage: rbenv set-local Sets the local directory-specific Ruby version by writing the version name to a file named '.rbenv-version'. When you run a Ruby command, rbenv will look for an '.rbenv-version' file in the current directory and each parent directory. If no such file is found in the tree, rbenv will use the default Ruby version specified with \`rbenv set-default', or the version specified in the RBENV_VERSION environment variable. $(print_set_version)" ;; *) echo "No command arguments needed or invalid/undocumented command." esac