Я хочу создать функцию в Bash, которая получает ввод от пользователя через другую функцию. Однако функция с диалоговым окном пользователя (get_version_input_dialog ()) не вызывается. Возможен ли этот метод?
check_values () {
allowedValues=$1
for i in "${allowedValues[@]}"
do
if [ $i = $2 ]
then
result='match'
fi
done
if [ "${result}" = 'match' ]
then
echo 'true'
else
echo 'false'
fi
}
#### get variables from user
get_version_input_dialog () {
echo "Which version would you like?"
echo " > Please enter 1, 2, 3, or 4"
read version
echo version
}
#### display error message to user if incorrect value is selected
#### $1 = array of allowed values
get_version_error_dialog () {
allowed_values=$1
echo "Please enter one of these values: ${allowed_values[@]}"
}
get_version () {
allowed_values=(1, 2, 3, 4)
thisVersion=${get_version_input_dialog}
echo "${thisVersion}"
valueCheck=$(check_values "${allowed_values[@]}" "${thisVersion}")
if [[ "${valueCheck}" = "false" ]]
then
get_version_error_dialog ${allowed_values}
get_version
else
echo "you chose ${version}"
fi
}
get_version