#!/usr/bin/env bash # # Summary: Run an executable with the selected Ruby version # # Usage: rbenv exec [arg1 arg2...] # # Runs an executable by first preparing PATH so that the selected Ruby # version's `bin' directory is at the front. # # For example, if the currently selected Ruby version is 1.9.3-p327: # rbenv exec bundle install # # is equivalent to: # PATH="$RBENV_ROOT/versions/1.9.3-p327/bin:$PATH" bundle install set -e [ -n "$RBENV_DEBUG" ] && set -x # Provide rbenv completions if [ "$1" = "--complete" ]; then exec rbenv-shims --short fi RBENV_VERSION="$(rbenv-version-name)" RBENV_COMMAND="$1" if [ -z "$RBENV_COMMAND" ]; then rbenv-help --usage exec >&2 exit 1 fi export RBENV_VERSION RBENV_COMMAND_PATH="$(rbenv-which "$RBENV_COMMAND")" RBENV_BIN_PATH="${RBENV_COMMAND_PATH%/*}" IFS=$'\n' read -d '' -r -a scripts <<<"$(rbenv-hooks exec)" || true for script in "${scripts[@]}"; do # shellcheck disable=SC1090 source "$script" done shift 1 if [ "$RBENV_VERSION" != "system" ]; then export PATH="${RBENV_BIN_PATH}:${PATH}" fi exec -a "$RBENV_COMMAND" "$RBENV_COMMAND_PATH" "$@"