«Да/Нет» в Bash Скрипте

В bash скриптах очень часто возникает необходимость приостановить выполнение задачи и поставить пользователю вопрос, на который тот должен ответить Да или Нет.

Например, перед выполнением потенциально опасной части bash скрипта, хорошей идеей будет запросить подтверждение у пользователя, задав вопрос — «Вы уверены?».

В этой заметке Вы найдете три самых простых и быстрых способа задать «Да/Нет» вопрос в bash скрипте.

Запрос о Продолжении в Bash
Лучший способ запросить подтверждение на продолжение в bash скрипте — это с помощью команды read:

read -p "Are you sure? " -n 1 -r
echo    # (optional) move to a new line
if [[ ! $REPLY =~ ^[Yy]$ ]]
then
    exit 1
fi


Простой «Да/Нет» Вопрос в Bash
Одним из самых распространенных способов постановки вопросов в bash скриптах — это комбинирование команд read + case:

while true; do
    read -p "Do you wish to install this program?" yn
    case $yn in
        [Yy]* ) make install; break;;
        [Nn]* ) exit;;
        * ) echo "Please answer yes or no.";;
    esac
done

Выбираем «Да/Нет» из Меню в Bash
Еще один легкий способ — с помощью команды select:

echo "Do you wish to install this program?"
select yn in "Yes" "No"; do
  case $yn in
    Yes ) make install; break;;
    No ) exit;;
  esac
done
Реклама

«Да/Нет» в Bash Скрипте: 2 комментария

  1. Александр:

    Скрипт «Выбираем «Да/Нет» из Меню в Bash» не будет у вас работать, так как нет связки do-done:

    echo «Do you wish to install this program?»
    select yn in «Yes» «No»; do
    case $yn in
    Yes ) make install; break;;
    No ) exit;;
    esac
    done

    Нравится

Добавить комментарий

Заполните поля или щелкните по значку, чтобы оставить свой комментарий:

Логотип WordPress.com

Для комментария используется ваша учётная запись WordPress.com. Выход /  Изменить )

Фотография Facebook

Для комментария используется ваша учётная запись Facebook. Выход /  Изменить )

Connecting to %s