In bash, the 'end of the line' is implicitly considered as end of commands/statements by bash compiler.
Example:
echo "Hello"
exit
#No need of semi-colons here as it is implicit that the end of the line is the completion of the statement
But when you want to add two statements/commands on the same line, you need to separate them by semi-colon (;) explicitly.
Example:
echo "hello"; exit
#here semi-colon implies that the echo statement ends at the semi-colon and from there on to the end of the line is a new statement.
With respect to "for statement", the syntax goes as:
for variable in (value-set)
do
----statements----
done
So, either you put the for, do , statements and done in new line or separate them by semi-colons.