В 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» не будет у вас работать, так как нет связки 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
НравитсяНравится
Добрый день, Александр.
Всё верно, большое спасибо, что заметив ошибку написали. Исправил код.
НравитсяНравится