Причём русификации, порождают стандартизацию заблуждений.
Здесь например, в прилагаемой ссылке
https://forum.altlinux.org/index.php?topic=44627.msg355998#msg355998
заблуждение, что do, это цикл. Цикла do не существует в природе. Цикл, это конструкция. Например do...loop, это цикл.
Эк Вы замахнулись на интернейшл стандардз. Не знаю, что там со стандартами на do loop, наверняка их не существует в природе, потому у каждого толкователя своё мнение, которое неоспоримо. Зато в ISO/IEC 9899:201x утверждается следующее:
6.8.5 Iteration statements
Syntax
1 iteration-statement:
while ( expression ) statement
do statement while ( expression ) ;
for ( expression opt ; expression opt ; expression opt ) statement
for ( declaration expression opt ; expression opt ) statement
6.8.5.2 The do statement
1 The evaluation of the controlling expression takes place after each execution of the loop body.
Инглишем по белому заявлено наличие операторов цикла, и do - один из них. И то что оператор составной и на уровне грамматики есть ещё и while - это дело десятое, это надобно хотя бы полистать Драгонбук, что бы в такие дебри лезть.
Цитируя 'Programming languages — C', раздел Semantics вы почему-то пропустили.
Правильное определение цикла и тела цикла в алгоритмической конструкции без привязки к языку программирования или интепретатору и не имеет даже значения какая аппаратная платформа:
A
loop is a sequence of statements which is specified once but which may be carried out several times in succession.
The code "inside" the loop (the body of the loop, shown below as xxx) is obeyed a specified number of times, or once for each of a collection of items, or until some condition is met, or indefinitely.
Это определение справедливо и для C, и для bash, и для SOS.
Поэтому определение 'do - цикл' неверно в принципе.
И поэтому нужно различать понятия цикла и тела цикла безотносительно языка программирования или интерпретатора.