pyenv/bin/rbenv-version

47 lines
957 B
Text
Raw Normal View History

2011-08-02 18:43:43 -04:00
#!/bin/bash -e
2011-08-01 16:50:26 -04:00
read_version_file() {
egrep -m 1 '[^[:space:]]' "$1"
}
find_version_file() {
2011-08-02 13:21:30 -04:00
local root="$(pwd)"
2011-08-01 16:50:26 -04:00
while [ -n "$root" ]; do
if [ -e "${root}/.rbenv-version" ]; then
echo "${root}/.rbenv-version"
return 0
fi
root="${root%/*}"
done
return 1
}
find_default_version_file() {
2011-08-02 13:21:30 -04:00
local default_path="$HOME/.rbenv/default"
2011-08-01 16:50:26 -04:00
if [ -e "$default_path" ]; then
echo "$default_path"
return 0
fi
return 1
}
if [ -z "$RBENV_VERSION" ]; then
RBENV_VERSION_FILE="$(find_version_file || find_default_version_file || true)"
if [ -n "$RBENV_VERSION_FILE" ]; then
RBENV_VERSION="$(read_version_file "$RBENV_VERSION_FILE")"
else
echo "rbenv: no default version specified" >&2
exit 1
fi
fi
RBENV_VERSION_PATH="${HOME}/.rbenv/versions/${RBENV_VERSION}"
if [ -d "$RBENV_VERSION_PATH" ]; then
echo "$RBENV_VERSION"
else
echo "rbenv: version \`$RBENV_VERSION' is not installed" >&2
exit 1
fi