mirror of
				https://github.com/smaeul/u-boot.git
				synced 2025-11-04 14:00:19 +00:00 
			
		
		
		
	Add missing information to the configuration section of the setexpr man-page. Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Reviewed-by: Simon Glass <sjg@chromium.org>
		
			
				
	
	
		
			152 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
			
		
		
	
	
			152 lines
		
	
	
		
			3.2 KiB
		
	
	
	
		
			ReStructuredText
		
	
	
	
	
	
.. SPDX-License-Identifier: GPL-2.0+
 | 
						|
 | 
						|
setexpr command
 | 
						|
===============
 | 
						|
 | 
						|
Synopsis
 | 
						|
--------
 | 
						|
 | 
						|
::
 | 
						|
 | 
						|
    setexpr[.b, .w, .l .s] <name> [*]<value> <op> [*]<value2>
 | 
						|
    setexpr[.b, .w, .l] <name> [*]<value>
 | 
						|
    setexpr <name> fmt <format> [value]...
 | 
						|
    setexpr <name> gsub r s [t]
 | 
						|
    setexpr <name> sub r s [t]
 | 
						|
 | 
						|
Description
 | 
						|
-----------
 | 
						|
 | 
						|
The setexpr command is used to set an environment variable to the result
 | 
						|
of an evaluation.
 | 
						|
 | 
						|
setexpr[.b, .w, .l .s] <name> [*]<value> <op> [*]<value2>
 | 
						|
     Set environment variable <name> to the result of the evaluated
 | 
						|
     expression specified by <op>.
 | 
						|
 | 
						|
setexpr[.b, .w, .l] name [*]value
 | 
						|
     Load <value> into environment variable <name>
 | 
						|
 | 
						|
setexpr name fmt <format> value
 | 
						|
     Set environment variable <name> to the result of the C like
 | 
						|
     format string <format> evaluation of <value>.
 | 
						|
 | 
						|
setexpr name gsub <r> <s> [<t>]
 | 
						|
     For each substring matching the regular expression <r> in the
 | 
						|
     string <t>, substitute the string <s>.
 | 
						|
     The result is assigned to <name>.
 | 
						|
     If <t> is not supplied, use the old value of <name>.
 | 
						|
 | 
						|
setexpr name sub <r> <s> [<t>]
 | 
						|
     Just like gsub(), but replace only the first matching substring
 | 
						|
 | 
						|
The setexpr command takes the following arguments:
 | 
						|
 | 
						|
format
 | 
						|
    This parameter contains a C or Bash like format string.
 | 
						|
    The number of arguments is limited to 4.
 | 
						|
    The following format types are supported:
 | 
						|
 | 
						|
    c
 | 
						|
        single character
 | 
						|
    d, i
 | 
						|
        decimal value
 | 
						|
    o
 | 
						|
        octal value
 | 
						|
    s
 | 
						|
        string
 | 
						|
    u
 | 
						|
        unsigned decimal value
 | 
						|
    x, X
 | 
						|
        hexadecimal value
 | 
						|
    '%'
 | 
						|
        no conversion, instead a % character will be written
 | 
						|
 | 
						|
    Backslash escapes:
 | 
						|
 | 
						|
    \" = double quote
 | 
						|
    \\ = backslash
 | 
						|
    \a = alert (bell)
 | 
						|
    \b = backspace
 | 
						|
    \c = produce no further output
 | 
						|
    \f = form feed
 | 
						|
    \n = new line
 | 
						|
    \r = carriage return
 | 
						|
    \t = horizontal tab
 | 
						|
    \v = vertical tab
 | 
						|
    \NNN = octal number (NNN is 0 to 3 digits)
 | 
						|
 | 
						|
name
 | 
						|
    The name of the environment variable to be set
 | 
						|
 | 
						|
op
 | 
						|
    '|'
 | 
						|
        name = value | value2
 | 
						|
    '&'
 | 
						|
        name = value & value2
 | 
						|
    '+'
 | 
						|
        name = value + value2
 | 
						|
        (This is the only operator supported for strings.
 | 
						|
	It acts as concatenation operator on strings)
 | 
						|
    '^'
 | 
						|
        name = value ^ value2
 | 
						|
    '-'
 | 
						|
        name = value - value2
 | 
						|
    '*'
 | 
						|
        name = value * value2
 | 
						|
    '/'
 | 
						|
        name = value / value2
 | 
						|
    '%'
 | 
						|
        name = value % value2
 | 
						|
 | 
						|
r
 | 
						|
    Regular expression
 | 
						|
 | 
						|
s
 | 
						|
    Substitution string
 | 
						|
 | 
						|
t
 | 
						|
    string
 | 
						|
 | 
						|
value
 | 
						|
    Can either be an integer value, a string.
 | 
						|
    If the pointer prefix '*' is given value is treated as memory address.
 | 
						|
 | 
						|
value2
 | 
						|
    See value
 | 
						|
 | 
						|
Example
 | 
						|
-------
 | 
						|
 | 
						|
::
 | 
						|
 | 
						|
    => setexpr foo fmt %d 0x100
 | 
						|
    => echo $foo
 | 
						|
    256
 | 
						|
    =>
 | 
						|
 | 
						|
    => setexpr foo fmt 0x%08x 63
 | 
						|
    => echo $foo
 | 
						|
    0x00000063
 | 
						|
    =>
 | 
						|
 | 
						|
    => setexpr foo fmt %%%o 8
 | 
						|
    => echo $foo
 | 
						|
    %10
 | 
						|
    =>
 | 
						|
 | 
						|
Configuration
 | 
						|
-------------
 | 
						|
 | 
						|
* The *setexpr* command is only available if CMD_SETEXPR=y.
 | 
						|
* The *setexpr fmt* sub-command is only available if CMD_SETEXPR_FMT=y.
 | 
						|
* The *setexpr gsub* and *setexpr sub* sub-commands are only available if
 | 
						|
  CONFIG_REGEX=y.
 | 
						|
 | 
						|
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).
 |