[PATCH 1/1] doc: document for statement

Heinrich Schuchardt xypron.glpk at gmx.de
Wed Jan 20 18:13:19 CET 2021


Create a man-page for the for statement.

Signed-off-by: Heinrich Schuchardt <xypron.glpk at gmx.de>
---
 doc/usage/for.rst   | 65 +++++++++++++++++++++++++++++++++++++++++++++
 doc/usage/index.rst |  1 +
 2 files changed, 66 insertions(+)
 create mode 100644 doc/usage/for.rst

diff --git a/doc/usage/for.rst b/doc/usage/for.rst
new file mode 100644
index 0000000000..6768dbb8d6
--- /dev/null
+++ b/doc/usage/for.rst
@@ -0,0 +1,65 @@
+for command
+===========
+
+Synopis
+-------
+
+::
+
+    for <variable> in <items>; do <commands>; done
+
+Description
+-----------
+
+The for command is used to loop over a list of values and execute a series of
+commands for each of these.
+
+The counter variable of the loop is a shell variable. Please, keep in mind that
+an environment variable takes precedence over a shell variable of the same name.
+
+variable
+    Name of the counter variable
+
+items
+    Space separated item list
+
+commands
+    commands to execute
+
+Example
+-------
+
+::
+
+    => setenv c
+    => for c in 1 2 3; do echo item ${c}; done
+    item 1
+    item 2
+    item 3
+    => echo ${c}
+    3
+    => setenv c x
+    => for c in 1 2 3; do echo item ${c}; done
+    item x
+    item x
+    item x
+    =>
+
+The first line ensures that there is no environment variable *c*. Hence in the
+first loop the shell variable *c* is printed.
+
+After defining an environment variable of name *c* it takes precedence over the
+shell variable and the environment variable is printed.
+
+Return value
+------------
+
+The return value $? after the done statement is the return value of the last
+statement executed in the loop.
+
+::
+
+    => for i in true false; do ${i}; done; echo $?
+    1
+    => for i in false true; do ${i}; done; echo $?
+    0
diff --git a/doc/usage/index.rst b/doc/usage/index.rst
index b8f216b713..6f49652758 100644
--- a/doc/usage/index.rst
+++ b/doc/usage/index.rst
@@ -18,6 +18,7 @@ Shell commands
    bootmenu
    button
    exit
+   for
    mbr
    pstore
    sbi
--
2.29.2



More information about the U-Boot mailing list