Давайте возьмем простой for loop
#!/bin/bash
for i in `seq 1 10`;
do
echo $i
done
Точка с запятой AFAIK в скриптах bash заставляет оболочку выполнять текущую команду синхронно и затем переходить к следующей. Нажатие клавиши ввода делает то же самое, за исключением того, что она не позволяет вам ввести следующую команду, немедленно очищая буфер.
Так почему оболочка не может интерпретировать следующую строку
for i in `seq 1 10`; do; echo $i; done
как это на for loop
самом деле работает?
do
.