Пытаюсь дать возможность пользователям установщика выбирать либо "Development", либо "Stable". По умолчанию установщик делает "git checkout 1.1.0", но я превращаю 1.1.0 в $GIT_VERSION
и пытаюсь сделать чистый способ установить это в начале.
Пытаюсь установить или с опцией 1,2 или 3 (3 означает выход). У меня есть грубое начало того, что я пытаюсь сделать $GIT_VERSION
...master
1.1.0
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