Задать вопрос
@daniks
Ничего особенного

Как сделать возврат параметра read в bash?

Доброго времени суток, есть простой скрипт
regexp="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,2}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$"
read name
if [[ $name =~ $regexp ]]; then
   echo "Доменное имя введено верно"
else
   echo "Доменное имя введено неверно"
fi


Как сделать так, чтобы при вводе неверного параметра задавался заново вопрос о вводе $name без выхода из скрипта?
  • Вопрос задан
  • 104 просмотра
Подписаться 1 Простой 1 комментарий
Решения вопроса 1
@zohan1993
devops
regexp="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,2}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$"

while :
do
    read name
    if [[ $name =~ $regexp ]]
    then
        echo "Доменное имя введено верно"
        break
    else
        echo "Доменное имя введено неверно"
    fi
done
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
saboteur_kiev
@saboteur_kiev Куратор тега Linux
software engineer
regexp="^([a-zA-Z0-9]([a-zA-Z0-9\-]{0,2}[a-zA-Z0-9])?\.)+[a-zA-Z]{2,6}$"

while read; do
    if [[ $REPLY =~ $regexp ]]; then
        echo "Доменное имя введено верно"
        break
    else
        echo "Доменное имя введено неверно"
    fi
done
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы