Shell management
Shell management allows passing commands to the shell subsystem over the SMP protocol.
Shell management group defines following commands:
|
Command description |
---|---|
|
Shell command line execute |
Shell command line execute
The command allows to execute command line in a similar way to typing it into a shell, but both a request and a response are transported over SMP.
Shell command line execute request
Execute command request header:
|
|
|
---|---|---|
|
|
|
CBOR data of request:
{
(str)"argv" : [
(str)<cmd>
(str,opt)<arg>
...
]
}
where:
“argv” |
array consisting of strings representing command and its arguments |
<cmd> |
command to be executed |
<arg> |
optional arguments to command |
Shell command line execute response
Command line execute response header fields:
|
|
|
---|---|---|
|
|
|
CBOR data of successful response:
{
(str)"o" : (str)
(str)"ret" : (int)
}
In case of error the CBOR data takes the form:
{
(str)"rc" : (int)
}
where:
“rc” |
|
“o” |
command output |
“ret” |
return code from shell command execution |
Note
In older versions of Zephyr, “rc” was used for both the mcumgr status code
and shell command execution return code, this legacy behaviour can be
restored by enabling CONFIG_MCUMGR_GRP_SHELL_LEGACY_RC_RETURN_CODE