diff --git a/doc_src/while.txt b/doc_src/while.txt index 38338792f..5fb851768 100644 --- a/doc_src/while.txt +++ b/doc_src/while.txt @@ -9,10 +9,8 @@ while CONDITION; COMMANDS...; end `while` repeatedly executes `CONDITION`, and if the exit status is 0, then executes `COMMANDS`. -If the exit status of `CONDITION` is non-zero on the first iteration, `COMMANDS` will not be -executed at all, and the exit status of the loop set to the exit status of `CONDITION`. - -The exit status of the loop is 0 otherwise. +The exit status of the while loop is the exit status of the last iteration of the `COMMANDS` executed, +or 0 if none were executed. (This matches other shells and is POSIX-compatible.) You can use `and` or `or` for complex conditions. Even more complex control can be achieved with `while true` containing a break.