#!/bin/bash # Install rbenv and ruby-build echo "Installing rbenv and ruby-build..." if ! command -v git &> /dev/null; then echo "git is not installed. Please install git first." exit 1 fi if ! command -v curl &> /dev/null; then echo "curl is not installed. Please install curl first." exit 1 fi if [ ! -d "$HOME/.rbenv" ]; then git clone https://github.com/rbenv/rbenv.git ~/.rbenv cd ~/.rbenv && src/configure && make -C src echo "export PATH=\"\$HOME/.rbenv/bin:\$PATH\"" >> ~/.bashrc echo "eval \"\$(rbenv init -)\"" >> ~/.bashrc # shellcheck source=/dev/null source ~/.bashrc else echo "rbenv is already installed." fi if [ ! -d "$HOME/.rbenv/plugins/ruby-build" ]; then git clone https://github.com/rbenv/ruby-build.git ~/.rbenv/plugins/ruby-build echo "export PATH=\"\$HOME/.rbenv/plugins/ruby-build/bin:\$PATH\"" >> ~/.bashrc # shellcheck source=/dev/null source ~/.bashrc else echo "ruby-build is already installed." fi # Get the latest 5 Ruby versions echo "Fetching latest Ruby versions..." VERSIONS=$(rbenv install -l 2>/dev/null | grep -E "^\s*\d+\.\d+\.\d+$" | tail -n 5) # Present the user with options echo "Please select a Ruby version to install:" select VERSION in $VERSIONS; do if [[ -n "$VERSION" ]]; then echo "You selected $VERSION. Installing..." rbenv install "$VERSION" rbenv global "$VERSION" echo "Ruby $VERSION installed and set as global version." break else echo "Invalid selection. Please try again." fi done echo "Done!"