diff options
author | Tom Rini | 2024-03-25 22:15:47 -0400 |
---|---|---|
committer | Tom Rini | 2024-03-25 22:15:47 -0400 |
commit | ab8d9ca3044acf51d8ff3bf3c4718c48f30ad606 (patch) | |
tree | 35c2e2eae8ed2cf1dda331b19dd806a33aaad913 /doc/usage | |
parent | 8ef8dcc54a0d507912ee57e15a541c5cebcfca76 (diff) | |
parent | dde373bde392c38649c8c4420e0c98ef8d38d9dc (diff) |
Merge tag 'v2024.04-rc5' into next
Prepare v2024.04-rc5
Diffstat (limited to 'doc/usage')
-rw-r--r-- | doc/usage/cmd/if.rst | 72 | ||||
-rw-r--r-- | doc/usage/index.rst | 1 |
2 files changed, 73 insertions, 0 deletions
diff --git a/doc/usage/cmd/if.rst b/doc/usage/cmd/if.rst new file mode 100644 index 00000000000..6b3dbe7b0a0 --- /dev/null +++ b/doc/usage/cmd/if.rst @@ -0,0 +1,72 @@ +.. SPDX-License-Identifier: GPL-2.0-or-later + +.. index:: + single: if (command) + +if command +========== + +Synopsis +-------- + +:: + + if <test statement> + then + <statements> + fi + + if <test statement> + then + <statements> + else + <statements> + fi + +Description +----------- + +The if command is used to conditionally execute statements. + +test statement + Any command. The test statement set the $? variable. If the value of + $? becomes 0 (true) the statements after the **then** statement will + be executed. Otherwise the statements after the **else** statement. + +Example +------- + +The examples shows how the value of a numeric variable can be tested with +**itest**. + +:: + + => a=1; if itest $a == 0; then echo true; else echo false; fi + false + => a=0; if itest $a == 0; then echo true; else echo false; fi + true + +In the following example we try to load an EFI binary via TFTP. If loading +succeeds, the binary is executed. + +:: + + if tftp $kernel_addr_r shellriscv64.efi; then bootefi $kernel_addr_r; fi + +Return value +------------ + +The value of $? is the return value of the last executed statement. + +:: + + => if true; then true; else true; fi; echo $? + 0 + => if false; then true; else true; fi; echo $? + 0 + => if false; then false; else false; fi; echo $? + 1 + => if true; then false; else false; fi; echo $? + 1 + => if false; then true; fi; echo $? + 1 diff --git a/doc/usage/index.rst b/doc/usage/index.rst index 0d174eefaa5..66d73e70cc4 100644 --- a/doc/usage/index.rst +++ b/doc/usage/index.rst @@ -71,6 +71,7 @@ Shell commands cmd/gpt cmd/history cmd/host + cmd/if cmd/imxtract cmd/load cmd/loadb |