Хотя это всегда помогает опубликовать упрощенный пример вашей проблемы (но он охватывает все непредвиденные обстоятельства, которые вы ожидаете), учитывая ответ на ваш комментарий на Mark Read, вы можете заключить приглашение для ввода в цикл while, например
while ${keepTrying:-true} ; do
echo "enter Yes or No"
read yOrN
case "${yOrN} in
[Yy]* )
# do something
keepTrying=false
;;
[Nn]* )
# do something else
keepTrying=false
;;
* )
echo "bad input"
;;
esac
done
# continue with script
# ....
Кроме того, я согласен с Марком, без ярлыков или переходов в ksh.
Надеюсь, это поможет.