@qvb

Как присвоить числу определенное значение или значение из массива?

Привет,
Как это можно сделать правильно/короче?
echo -e "Select location:\n1) ${loc1}\n2) ${loc2}\n3) ${loc3}"
     22 read LOC
     23     if [ "$LOC" = 1 ]; then
     24     LOC=${loc1}
     25     else
     26 <------>if [ "$LOC" = 2 ]; then
     27 <------>LOC=${loc2}
     28 <------>else
     29 <------>    if [ "$LOC" = 3 ]; then
     30 <------>    LOC=${loc3}
     31 <------>    else
     47 <------>    read -p "error!"
     48 <------>    exit
     52 <------>    fi
     53 <------>fi
     54     fi
  • Вопрос задан
  • 65 просмотров
Решения вопроса 1
planc
@planc
ar=('a' 'b' 'c')

echo -e "select location"

select loc in ${ar[@]}; do
    if [ -n loc ]; then
        echo $loc
        break;
    fi
done


ar=('a' 'b' 'c')
len=${#ar[@]}

echo -e "select location"

for (( i=0; i<len; i++)); do 
    echo $i\) ${ar[$i]}; 
done

read loc

if [ "$loc" -gt "$len" ]; then
    echo "error"
else
    echo ${ar[loc]}
fi
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы