bash группы команд: почему фигурные скобки требуют точки с запятой?

Я знаю разницу в целях в скобках() и фигурные скобки{} когда группирование команд в bash.

Но почему для конструкции фигурных скобок после последней команды требуется точка с запятой, а для конструкции в скобках точка с запятой необязательна?

$ while false; do ( echo "Hello"; echo "Goodbye"; ); done
$ while false; do ( echo "Hello"; echo "Goodbye" ); done
$ while false; do { echo "Hello"; echo "Goodbye"; }; done
$ while false; do { echo "Hello"; echo "Goodbye" }; done
bash: syntax error near unexpected token `done'
$ 

Я хочу понять, почему это так. Я не ищу ответы, такие как "потому что в документации так сказано" или "потому что так было задумано". Я хотел бы знатьЗаче это было разработано именно так. А может, если это просто исторический артефак

Это можно наблюдать как минимум в следующих версиях Баш:

GNU bash, версия 3.00.15 (1) -релиз (x86_64-redhat-linux-gnu) GNU bash, версия 3.2.48 (1) -релиз (x86_64-apple-darwin12) GNU bash, версия 4.2.25 (1) -релиз (x86_64-pc-linux-gnu)

Ответы на вопрос(1)

Ваш ответ на вопрос