# The until loop ## Synopsis until ; do done ## Description The until-loop is relatively simple in what it does: it executes the [command list](/syntax/basicgrammar#lists) `` and if the exit code of it was **not** 0 (FALSE) it executes ``. This happens again and again until `` returns TRUE. This is exactly the opposite of the [while loop](/syntax/ccmd/while_loop). :!: Like all loops (both `for`-loops, `while` and `until`), this loop can be - terminated (broken) by the `break` command, optionally as `break N` to break `N` levels of nested loops - forced to immediately do the next iteration using the `continue` command, optionally as `continue N` analog to `break N` ### Return status The return status is the one of the last command executed in ``, or `0` (`TRUE`) if none was executed. ## Examples ## Portability considerations ## See also - Internal: [The while loop](/syntax/ccmd/while_loop)