«Да/Нет» в 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"
case $yn in
    Yes ) make install;;
    No ) exit;;
esac