В 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