Bash 提供選項並根據選擇傳遞變數

Bash 提供選項並根據選擇傳遞變數

嘗試為安裝程式的使用者提供選擇“開發”或“穩定”的選項。預設情況下,安裝程式會執行“git checkout 1.1.0”,但我將 1.1.0 轉換為$GIT_VERSION並嘗試以乾淨的方式在一開始就進行設定。

嘗試設定$GIT_VERSIONmaster1.1.0並使用 1,2 或 3 選項(3 表示退出)。我對我想做的事情有一個艱難的開始...

PS3='Do you want to install Lastest Stable or Latest Developement: '
options=("Stable" "Developement" "Quit")
select GIT_VERSION in "${options[@]}"
do
    case $GIT_VERSION in
        "Stable")
            $GIT_VERSION=1.1.0 
            echo "Installing 1.1.0..."
            ;;
        "Developement")
            $GIT_VERSION=master
            echo "Installing latest developement version..."
            ;;
        "Quit")
            break
            ;;
        *) echo invalid option;;
    esac
done

答案1

我可能會做類似的事情

#! /bin/bash
names=(Stable Developement)
versions=(master 1.1.0)
select option in "${names[@]}" Quit ; do
    if (( REPLY > 0 && REPLY <= 1 + ${#names[@]} )) ; then
        if [[ $option != Quit ]] ; then
            git checkout ${versions[REPLY-1]}
        fi
        exit
    else
        echo Invalid reply.
    fi
done

相關內容