pyenv/libexec/rbenv-init

83 lines
1.2 KiB
Bash
Executable file

#!/usr/bin/env bash
set -e
print=""
if [ "$1" = "-" ]; then
print=1
shift
fi
shell="$1"
if [ -z "$shell" ]; then
shell="$(basename "$SHELL")"
fi
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"
}
root="$(abs_dirname "$0")/.."
if [ -z "$print" ]; then
case "$shell" in
bash )
profile='~/.bash_profile'
;;
zsh )
profile='~/.zshrc'
;;
* )
profile='your profile'
;;
esac
{ echo "# Load rbenv automatically by adding"
echo "# the following to ${profile}:"
echo
echo 'eval "$(rbenv init -)"'
echo
} >&2
exit 1
fi
mkdir -p "${HOME}/.rbenv/"{shims,versions}
echo 'export PATH="${HOME}/.rbenv/shims:${PATH}"'
case "$shell" in
bash | zsh )
echo "source \"$root/completions/rbenv.${shell}\""
;;
esac
echo 'rbenv rehash 2>/dev/null'
commands=(`rbenv commands --sh`)
IFS="|"
cat <<EOS
function rbenv () {
command=\$1;
shift;
case \$command in
${commands[*]})
eval \`rbenv sh-\$command \$@\`;;
*)
command rbenv \$command \$@;;
esac;
};
EOS