mirror of
https://github.com/flokoe/bash-hackers-wiki.git
synced 2024-11-01 14:53:06 +01:00
b75c3a588b
find docs/ -depth 3 -name '*.md' | xargs grep '(.*/' -l | \ xargs -I{} \ sed -i '' \ -e 's%(/\([^/#).][^/#).]*\)/\([^/#).][^/#).]*\)\(.md\)\{0\})%(../../\1/\2.md)%g' \ -e 's%(/\([^/#).][^/#).]*\)/\([^/#).][^/#).]*\)#\([a-zA-Z_-][0-9a-zA-Z_-]*\))%(../../\1/\2.md#\3)%g' \ -e 's%(/\([^/#).][^/#).]*\)/\([^/#).][^/#).]*\)/\([^/#).][^/#).]*\)\(.md\)\{0\})%(../../\1/\2/\3.md)%g' \ -e 's%(/\([^/#).][^/#).]*\)/\([^/#).][^/#).]*\)/\([^/#).][^/#).]*\)#\([a-zA-Z_-][0-9a-zA-Z_-]*\))%(../../\1/\2/\3.md#\4)%g' \ -e 's%](\([^:.>)#][^:.>)#]*\))%](../../\1.md)%g' \ -e 's%](\([^:.>)#][^:.>)#]*\)#\([^:.>)#][^:.>)#]*\))%](../../\1.md#\2)%g' \ {} Related to https://github.com/flokoe/bash-hackers-wiki/issues/10
42 lines
1.1 KiB
Markdown
42 lines
1.1 KiB
Markdown
# The while-loop
|
|
|
|
## Synopsis
|
|
|
|
while <LIST1> ; do
|
|
<LIST2>
|
|
done
|
|
|
|
## Description
|
|
|
|
The while-loop is relatively simple in what it does: it executes the
|
|
[command list](../../syntax/basicgrammar.md#lists) `<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](../../syntax/ccmd/until_loop.md).
|
|
|
|
:!: 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 `<LIST2>`,
|
|
or `0` (`TRUE`) if none was executed.
|
|
|
|
## Examples
|
|
|
|
## Portability considerations
|
|
|
|
## See also
|
|
|
|
- Internal: [The until loop](../../syntax/ccmd/until_loop.md)
|
|
- Internal: [code examples of the read builtin
|
|
command](../../commands/builtin/read.md#code_examples) to see how you can
|
|
loop over lines
|