CMD Expression
CMD passes its body string by reference to ACE's normal resolver. After the resolver call returns, the text left in that same string is substituted into the surrounding text or expression.
Syntax
Example
ACE's existing Starter Guide and node-editor implementation use the device-value shape:
Here Value is the existing device info specific-information keyword. The leading ! is ACE's normal resolver silent-command prefix; it is not a separate CMD option.
CMD may also be nested inside another expression when the text produced by the resolver is suitable as the outer expression's input.
Execution context
The command is resolved with the current ACE user and current environment. Normal resolver syntax checks, permissions, and command behavior therefore apply.
In a normal non-virtual environment, a command invoked through CMD can have the same side effects that the resolver command normally has. When the current environment is virtual, CMD passes that virtual/check state into the resolver, so behavior follows ACE's normal virtual/check rules instead of assuming real-world side effects.
Control flow
IF and SWITCH resolve only the selected result branch. A CMD{...} that exists only in an unselected result branch is therefore not evaluated. SWITCH inputs and case expressions have different evaluation rules; see SWITCH.