за исключением
done
команды
done
это не команда.
Кажется, есть недоразумение: ключевое слово done
не означает, что скрипт выполнен, и может завершить выполнение. Это вместо аналога предыдущего do
ключевого слова в while...do
. Это означает: когда while
условие ложно, выполнить следующую инструкцию после done
ключевого слова.
Может быть, вы хотите добавить exit
в конце списка команд, которые выполняются, если пользователь выбирает Y
.
Обновить:
Я упоминал exit
просто потому, что он уже использовался в [Nn]
ветке, но это только исправило бы скрипт. Использование break
вместо того, exit
что было предложено Гордоном Дэвиссоном, вместо этого - лучшая идея, которая представляет улучшение, позволяющее дальнейшую разработку сценария.