Другой пример, я гарантирую, что мы не продолжим, пока мы не получим конкретно y / n / q в качестве входных данных.использование -p -n1 избавляет от необходимости нажимать ввод.В итоге: оператор case, чтение одной клавиши, проверка нижнего регистра и т. Д. В этом примере допускается да / нет или выход.
typeset confirm=''
while true; do
read -p "Select (y/n/q) ?" -n1 confirm
case ${confirm,,} in
y|n|q) break;;
*) echo "Answer y for yes / n for no or q for quit.";;
esac
done
echo -e "\nAnswer = $confirm" ;sleep 2
if [[ "${confirm,,}" == "q" ]] ; then
echo "OK Quitting.."
exit 0
fi
if [[ "${confirm,,}" == "y" ]] ; then
echo "Continuing ..."
else
echo "No? Do something else etc.. "
fi