#!/usr/bin/env bash set -e [ -n "$RBENV_DEBUG" ] && set -x resolve_link() { $(type -p greadlink readlink | head -1) $1 } abs_dirname() { local cwd="$(pwd)" local path="$1" while [ -n "$path" ]; do cd "${path%/*}" local name="${path##*/}" path="$(resolve_link "$name" || true)" done pwd cd "$cwd" } if [ -z "${RBENV_ROOT}" ]; then RBENV_ROOT="${HOME}/.rbenv" else RBENV_ROOT="${RBENV_ROOT%/}" fi export RBENV_ROOT export RBENV_HOOK_PATH="${RBENV_HOOK_PATH}:${RBENV_ROOT}/rbenv.d:/usr/local/etc/rbenv.d:/etc/rbenv.d" shopt -s nullglob rbenv_path="$(abs_dirname "$0")" for plugin_bin in "${RBENV_ROOT}/plugins/"*/bin; do rbenv_path="${rbenv_path}:${plugin_bin}" done shopt -u nullglob export PATH="${rbenv_path}:${PATH}" command="$1" case "$command" in "" | "-h" | "--help" ) echo -e "rbenv 0.2.0-pre\n$(rbenv-help)" >&2 ;; * ) command_path="$(command -v "rbenv-$command" || true)" if [ -z "$command_path" ]; then echo "rbenv: no such command \`$command'" >&2 exit 1 fi shift 1 exec "$command_path" "$@" ;; esac