Я пытаюсь создать сценарий оболочки с помощью команды read
, чтобы при запуске сценария он задаст пользователю вопрос «да» или «нет». Если пользователь набирает yes
, сценарий продолжается, а если он пишет no
, он останавливается.
Каков синтаксис для использования команды read
таким образом?
Я использую Ubuntu 13.04.
Вы были бы, вероятно, лучше обслужены эти select
команда, которая позволяет пользователю выбирать опцию, это представлено им.
#!/usr/bin/env bash
echo "Are you sure?"
select yn in "Yes" "No"; do
case $yn in
Yes ) break;;
No ) exit;;
esac
done
# Add whatever you want to do if the user answered "yes" here
, Если пользователь ответил "Нет", сценарий выйдет, не выполняя код далее вниз сценарий.
единственный недостаток к использованию select
- то, что опции выбраны с помощью чисел. Таким образом, потому что у нас есть две опции, пользователь не может ввести "Да", они имеют к типу "1", и т.д.
Весь Ваш удар - программирование вопросов сразу: http://www.tldp.org/guides.html - находит "Усовершенствованное Руководство по созданию сценариев Bash".
Это содержит много примеров, очень легких читать ;-) - я имел некоторые паузы в своем использовании удара время от времени и поэтому использовал его в качестве словаря.
Также: созданным in:s удара нравится чтение, имеет справку в наличии как в
help read
и затем, простой ответ на Ваш вопрос:
echo -n "Y/N - Yes or No :" && read -N 1 ans && echo -e "\r$(tput el)You said $ans."
tput - печатает объекты от terminfo базы данных. "человек terminfo" для больше.