doc: usage: Add general rule for $?

For nearly all commands in U-Boot the '?' variable is handled the same
way with 0 meaning success, 1 meaning any failure.  Explain this in the
general rules section of the cmdline documentation (with a link to a
counter example) and then remove the redundant wording from most
commands. We retain a section about the return value in a number of
places where we are doing something such as always returning a specific
value or we have useful additional information to go along with the
normal return codes.

Signed-off-by: Tom Rini <trini@konsulko.com>
Reviewed-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
This commit is contained in:
Tom Rini 2025-10-24 10:02:57 -06:00
parent 1f6da608c3
commit 11da3403e9
45 changed files with 6 additions and 245 deletions

View File

@ -90,8 +90,3 @@ Configuration
------------- -------------
The command is available if CONFIG_CMD_ARMFFA=y and CONFIG_ARM_FFA_TRANSPORT=y. The command is available if CONFIG_CMD_ARMFFA=y and CONFIG_ARM_FFA_TRANSPORT=y.
Return value
------------
The return value $? is 0 (true) on success, 1 (false) on failure.

View File

@ -115,8 +115,3 @@ Configuration
------------- -------------
The bdinfo command is available if CONFIG_CMD_BDI=y. The bdinfo command is available if CONFIG_CMD_BDI=y.
Return code
-----------
The return code $? is 0 (true).

View File

@ -99,8 +99,3 @@ Configuration
------------- -------------
The bind command is only available if CONFIG_CMD_BIND=y. The bind command is only available if CONFIG_CMD_BIND=y.
Return code
-----------
The return code $? is 0 (true) on success and 1 (false) on failure.

View File

@ -69,9 +69,3 @@ Configuration
------------- -------------
The blkcache command is only available if CONFIG_CMD_BLOCK_CACHE=y. The blkcache command is only available if CONFIG_CMD_BLOCK_CACHE=y.
Return code
-----------
If the command succeeds, the return code $? is set 0 (true). In case of an
error the return code is set to 1 (false).

View File

@ -45,8 +45,3 @@ Configuration
------------- -------------
The cat command is only available if CONFIG_CMD_CAT=y. The cat command is only available if CONFIG_CMD_CAT=y.
Return value
------------
The return value $? is set to 0 (true) if the file is readable, otherwise it returns a non-zero error code.

View File

@ -70,8 +70,3 @@ compiled::
modern modern
=> cli set old => cli set old
Want to set current parser to old, but its code was not compiled! Want to set current parser to old, but its code was not compiled!
Return value
------------
The return value $? indicates whether the command succeeded.

View File

@ -22,8 +22,3 @@ Configuration
------------- -------------
The cls command is only available if CONFIG_CMD_CLS=y. The cls command is only available if CONFIG_CMD_CLS=y.
Return value
------------
The return value $? is 0 (true) on success and 1 (false) on failure.

View File

@ -79,9 +79,3 @@ Configuration
The cp command is available if CONFIG_CMD_MEMORY=y. Support for 64 bit words The cp command is available if CONFIG_CMD_MEMORY=y. Support for 64 bit words
(cp.q) is only available on 64-bit targets. Copying to flash depends on (cp.q) is only available on 64-bit targets. Copying to flash depends on
CONFIG_MTD_NOR_FLASH=y. CONFIG_MTD_NOR_FLASH=y.
Return value
------------
The return value $? is set to 0 (true) if the command was successfully,
1 (false) otherwise.

View File

@ -93,9 +93,3 @@ Configuration
------------- -------------
The cpu command is available if CONFIG_CMD_CPU=y. The cpu command is available if CONFIG_CMD_CPU=y.
Return code
-----------
The return value $? is set to 0 (true) if the command is successful,
1 (false) otherwise.

View File

@ -25,11 +25,6 @@ Configuration
The cpuid command is only available on x86. The cpuid command is only available on x86.
Return value
------------
The return value $? is 0 (true).
Example Example
------- -------

View File

@ -47,9 +47,3 @@ Configuration
The dmareset command is only available if CONFIG_CMD_C5_PL330_DMA=y in The dmareset command is only available if CONFIG_CMD_C5_PL330_DMA=y in
"Shell scripting commands". "Shell scripting commands".
Return value
------------
If the command succeeds, the return value $? is set to 0 (true).
If an error occurs, the return value $? is set to 1 (false).

View File

@ -64,9 +64,3 @@ Configuration
The ebtupdate command is only available if CONFIG_CMD_EBTUPDATE=y and The ebtupdate command is only available if CONFIG_CMD_EBTUPDATE=y and
only on Tegra 2 and Tegra 3 configurations. only on Tegra 2 and Tegra 3 configurations.
Return value
------------
The return value $? is set to 0 (true) if everything went successfully. If an
error occurs, the return value $? is set to 1 (false).

View File

@ -46,9 +46,3 @@ Configuration
------------- -------------
The fatinfo command is only available if CONFIG_CMD_FAT=y. The fatinfo command is only available if CONFIG_CMD_FAT=y.
Return value
------------
The return value $? is set to 0 (true) if the partition is a FAT partition.
Otherwise it is set to 1 (false).

View File

@ -66,8 +66,3 @@ address and expand it to 0xf000 in size::
Working FDT set to 10000 Working FDT set to 10000
=> md 10000 4 => md 10000 4
00010000: edfe0dd0 00f00000 78000000 7c270000 ...........x..'| 00010000: edfe0dd0 00f00000 78000000 7c270000 ...........x..'|
Return value
------------
The return value $? indicates whether the command succeeded.

View File

@ -54,9 +54,3 @@ Configuration
------------- -------------
The command is only available if CONFIG_CONSOLE_TRUETYPE=y. The command is only available if CONFIG_CONSOLE_TRUETYPE=y.
Return value
------------
The return value $? is 0 (true) if the command completes.
The return value is 1 (false) if the command fails.

View File

@ -168,9 +168,3 @@ Configuration
The fuse commands are available if CONFIG_CMD_FUSE=y. The fuse commands are available if CONFIG_CMD_FUSE=y.
The fuse writebuff command is available if CONFIG_CMD_FUSE_WRITEBUFF=y. The fuse writebuff command is available if CONFIG_CMD_FUSE_WRITEBUFF=y.
Return code
-----------
The return value $? is set to 0 (true) if the command is successful,
1 (false) otherwise.

View File

@ -127,9 +127,3 @@ Configuration
The *gpio* command is only available if CONFIG_CMD_GPIO=y. The *gpio* command is only available if CONFIG_CMD_GPIO=y.
The *gpio read* command is only available if CONFIG_CMD_GPIO_READ=y. The *gpio read* command is only available if CONFIG_CMD_GPIO_READ=y.
Return value
------------
If the command succeds the return value $? is set to 0. If an error occurs, the
return value $? is set to 1.

View File

@ -111,9 +111,3 @@ Unbind a device::
=> host info => host info
dev blocks label path dev blocks label path
1 2048 fat 1MB.fat32.img 1 2048 fat 1MB.fat32.img
Return value
------------
The return value $? indicates whether the command succeeded.

View File

@ -129,12 +129,6 @@ Configuration
The ``i3c`` command is only available if CONFIG_CMD_I3C=y. The ``i3c`` command is only available if CONFIG_CMD_I3C=y.
Return value
------------
If the command succeeds, the return value ``$?`` is set to 0. If an error
occurs, the return value ``$?`` is set to 1.
Note Note
---- ----

View File

@ -76,9 +76,3 @@ Configuration
The imxtract command is only available if CONFIG_CMD_XIMG=y. Support for FIT The imxtract command is only available if CONFIG_CMD_XIMG=y. Support for FIT
images requires CONFIG_FIT=y. Support for legacy U-Boot images requires images requires CONFIG_FIT=y. Support for legacy U-Boot images requires
CONFIG_LEGACY_IMAGE_FORMAT=y. CONFIG_LEGACY_IMAGE_FORMAT=y.
Return value
------------
On success the return value $? of the command is 0 (true). On failure the
return value is 1 (false).

View File

@ -66,8 +66,3 @@ Configuration
------------- -------------
The command is only available if CONFIG_CMD_LOADB=y. The command is only available if CONFIG_CMD_LOADB=y.
Return value
------------
The return value $? is 0 (true) on success, 1 (false) on error.

View File

@ -43,10 +43,3 @@ Configuration
------------- -------------
The command is only available if CONFIG_CMD_LOADM=y. The command is only available if CONFIG_CMD_LOADM=y.
Return value
------------
The return value $? is set 0 (true) if the loading is succefull, and
is set to 1 (false) in case of error.

View File

@ -92,8 +92,3 @@ Configuration
The command is only available if CONFIG_CMD_LOADS=y. The parameter to set the The command is only available if CONFIG_CMD_LOADS=y. The parameter to set the
baud rate is only available if CONFIG_SYS_LOADS_BAUD_CHANGE=y baud rate is only available if CONFIG_SYS_LOADS_BAUD_CHANGE=y
Return value
------------
The return value $? is 0 (true) on success, 1 (false) otherwise.

View File

@ -73,8 +73,3 @@ The command is only available if CONFIG_CMD_LOADB=y.
Initial timeout in seconds while waiting for transfer is configured by Initial timeout in seconds while waiting for transfer is configured by
config option CMD_LOADXY_TIMEOUT or by env variable $loadxy_timeout. config option CMD_LOADXY_TIMEOUT or by env variable $loadxy_timeout.
Setting it to 0 means infinite timeout. Setting it to 0 means infinite timeout.
Return value
------------
The return value $? is 0 (true) on success, 1 (false) otherwise.

View File

@ -70,8 +70,3 @@ The command is only available if CONFIG_CMD_LOADB=y.
Initial timeout in seconds while waiting for transfer is configured by Initial timeout in seconds while waiting for transfer is configured by
config option CMD_LOADXY_TIMEOUT or by env variable $loadxy_timeout. config option CMD_LOADXY_TIMEOUT or by env variable $loadxy_timeout.
Setting it to 0 means infinite timeout. Setting it to 0 means infinite timeout.
Return value
------------
The return value $? is 0 (true) on success, 1 (false) otherwise.

View File

@ -38,11 +38,6 @@ Configuration
The msr command is only available on x86. The msr command is only available on x86.
Return value
------------
The return value $? is 0 (true).
Example Example
------- -------

View File

@ -62,8 +62,3 @@ Configuration
------------- -------------
The mtest command is enabled by CONFIG_CMD_MEMTEST=y. The mtest command is enabled by CONFIG_CMD_MEMTEST=y.
Return value
------------
The return value $? is 0 (true) if the command succeeds, 1 (false) otherwise.

View File

@ -63,8 +63,3 @@ Configuration
------------- -------------
The optee command is enabled by CONFIG_OPTEE=y and CONFIG_CMD_OPTEE=y. The optee command is enabled by CONFIG_OPTEE=y and CONFIG_CMD_OPTEE=y.
Return value
------------
The return value $? is 0 (true) if the command succeeds, 1 (false) otherwise.

View File

@ -223,9 +223,3 @@ This shows looking at a device with multiple partition tables::
type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7 type: ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
guid: a0891d7e-b930-4513-94da-f629dbd637b2 guid: a0891d7e-b930-4513-94da-f629dbd637b2
=> =>
Return value
------------
The return value $? is set to 0 (true) if the command succededd. If an
error occurs, the return value $? is set to 1 (false).

View File

@ -48,9 +48,3 @@ Note that complex prompts require proper quoting:
Usage: Usage:
pause [prompt] - Wait until users presses any key. [prompt] can be used to customize the message. pause [prompt] - Wait until users presses any key. [prompt] can be used to customize the message.
Return value
------------
The return value $? is always set to 0 (true), unless invoked in an invalid
manner.

View File

@ -90,9 +90,3 @@ Configuration
------------- -------------
The pinmux command is only available if CONFIG_CMD_PINMUX=y. The pinmux command is only available if CONFIG_CMD_PINMUX=y.
Return value
------------
The return value $? is set to 0 (true) if the command succeded and to 1 (false)
otherwise.

View File

@ -83,9 +83,3 @@ Configuration
------------- -------------
The ``pwm`` command is only available if CONFIG_CMD_PWM=y. The ``pwm`` command is only available if CONFIG_CMD_PWM=y.
Return value
------------
If the command succeeds, the return value ``$?`` is set to 0. If an error occurs, the
return value ``$?`` is set to 1.

View File

@ -84,8 +84,3 @@ Configuration
The command is only available if CONFIG_CMD_SAVES=y. The parameter to set the The command is only available if CONFIG_CMD_SAVES=y. The parameter to set the
baud rate is only available if CONFIG_SYS_LOADS_BAUD_CHANGE=y baud rate is only available if CONFIG_SYS_LOADS_BAUD_CHANGE=y
Return value
------------
The return value $? is 0 (true) on success, 1 (false) otherwise.

View File

@ -119,11 +119,4 @@ Configuration
The scmi command is only available if CONFIG_CMD_SCMI=y. The scmi command is only available if CONFIG_CMD_SCMI=y.
Default n because this command is mainly for debug purpose. Default n because this command is mainly for debug purpose.
Return value
------------
The return value ($?) is set to 0 if the operation succeeded,
1 if the operation failed or -1 if the operation failed due to
a syntax error.
.. _`SCMI specification`: https://developer.arm.com/documentation/den0056/e/?lang=en .. _`SCMI specification`: https://developer.arm.com/documentation/den0056/e/?lang=en

View File

@ -147,10 +147,3 @@ Configuration
* The *setexpr gsub* and *setexpr sub* sub-commands are only available * The *setexpr gsub* and *setexpr sub* sub-commands are only available
if CONFIG_REGEX=y. For an overview of the supported regex syntax, if CONFIG_REGEX=y. For an overview of the supported regex syntax,
see :doc:`test`. see :doc:`test`.
Return value
------------
The return value $? is set to 0 (true) if the operation was successful.
If an error occurs, the return value $? is set to 1 (false).

View File

@ -35,9 +35,3 @@ Configuration
------------- -------------
The size command is only available if CONFIG_CMD_FS_GENERIC=y. The size command is only available if CONFIG_CMD_FS_GENERIC=y.
Return value
------------
The return value $? is set to 0 (true) if the command succeded and to 1 (false)
otherwise.

View File

@ -86,8 +86,3 @@ Configuration
------------- -------------
The command is only available if CONFIG_CMD_SMBIOS=y. The command is only available if CONFIG_CMD_SMBIOS=y.
Return value
------------
The return value $? is 0 (true) on success, 1 (false) otherwise.

View File

@ -56,8 +56,3 @@ Configuration
------------- -------------
The sound command is enabled by CONFIG_CMD_SOUND=y. The sound command is enabled by CONFIG_CMD_SOUND=y.
Return value
------------
The return value $? is 0 (true) if the command succeeds, 1 (false) otherwise.

View File

@ -188,9 +188,3 @@ The FIT image file format requires CONFIG_FIT=y.#
The legacy U-Boot image file format requires CONFIG_LEGACY_IMAGE_FORMAT=y. The legacy U-Boot image file format requires CONFIG_LEGACY_IMAGE_FORMAT=y.
On hardened systems support for the legacy U-Boot image format should be On hardened systems support for the legacy U-Boot image format should be
disabled as these images cannot be signed and verified. disabled as these images cannot be signed and verified.
Return value
------------
If the scripts is executed successfully, the return value $? is 0 (true).
Otherwise it is 1 (false).

View File

@ -45,9 +45,3 @@ Configuration
------------- -------------
The *temperature* command is only available if CONFIG_CMD_TEMPERATURE=y. The *temperature* command is only available if CONFIG_CMD_TEMPERATURE=y.
Return value
------------
The return value $? is set to 0 (true) if the command succeeded and to 1 (false)
otherwise.

View File

@ -79,8 +79,3 @@ after which an ACK response is required. The window size defaults to 1.
If CONFIG_TFTP_TSIZE=y, the progress bar is limited to 50 '#' characters. If CONFIG_TFTP_TSIZE=y, the progress bar is limited to 50 '#' characters.
Otherwise an '#' is written per UDP package which may decrease performance. Otherwise an '#' is written per UDP package which may decrease performance.
Return value
------------
The return value $? is 0 (true) on success and 1 (false) otherwise.

View File

@ -91,8 +91,3 @@ Configuration
------------- -------------
The unbind command is only available if CONFIG_CMD_BIND=y. The unbind command is only available if CONFIG_CMD_BIND=y.
Return code
-----------
The return code $? is 0 (true) on success and 1 (false) on failure.

View File

@ -73,8 +73,3 @@ Configuration
------------- -------------
The command is only available if CONFIG_CMD_WDT=y. The command is only available if CONFIG_CMD_WDT=y.
Return value
------------
The return value $? is 0 if the command succeeds, 1 upon failure.

View File

@ -184,8 +184,3 @@ CONFIG_WGET_CACERT=y (for the wget cacert command).
TCP Selective Acknowledgments in the legacy network stack can be enabled via TCP Selective Acknowledgments in the legacy network stack can be enabled via
CONFIG_PROT_TCP_SACK=y. This will improve the download speed. Selective CONFIG_PROT_TCP_SACK=y. This will improve the download speed. Selective
Acknowledgments are enabled by default with lwIP. Acknowledgments are enabled by default with lwIP.
Return value
------------
The return value $? is 0 (true) on success and 1 (false) otherwise.

View File

@ -55,6 +55,12 @@ General rules
command will cause "run" to terminate, i. e. the remaining command will cause "run" to terminate, i. e. the remaining
variables are not executed. variables are not executed.
#. The variable ``$?`` will be set as the return value of any command. The
possible values are 0 on success or 1 on any error e. g. invalid syntax or
failure of the command. Any exceptions to this are documented by the
specific command, e.g. the :doc:`for command <cmd/for>` sets ``$?`` based on
the last command run within the loop.
Representing numbers Representing numbers
-------------------- --------------------