while <LIST1> ; do <LIST2> done
The while-loop is relatively simple in what it does: it executes the command list <LIST1> and if the exit code of it was 0 (TRUE) it executes <LIST2>. This happens again and again until <LIST1> returns FALSE.
This is exactly the opposite of the until loop.
Like all loops (both for-loops, while and until), this loop can be
break command, optionally as break N to break N levels of nested loopscontinue command, optionally as continue N analog to break N
The return status is the one of the last command executed in <LIST2>, or 0 (TRUE) if none was executed.