Prototype: returnszero(command, shell)
Return type: boolean
The return value is cached.
Description: Runs command
and returns whether it has returned with exit status zero.
This is the complement of execresult()
, but it returns a class result rather than the output of the command.
Arguments:
command
: string
- Command path - in the range: .+
shell
: - Shell encapsulation option - one of
noshell
useshell
powershell
Example:
code
body common control
{
bundlesequence => { "example" };
}
bundle agent example
{
classes:
"my_result" expression => returnszero("/usr/local/bin/mycommand","noshell");
reports:
!my_result::
"Command failed";
}
Output:
code
2014-08-18T14:13:28+0100 error: Proposed executable file '/usr/local/bin/mycommand' doesn't exist
2014-08-18T14:13:28+0100 error: returnszero '/usr/local/bin/mycommand' is assumed to be executable but isn't
R: Command failed
Notes: you should never use this function to execute commands that make changes to the system, or perform lengthy computations. Such an operation is beyond CFEngine's ability to guarantee convergence, and on multiple passes and during syntax verification these function calls are executed, resulting in system changes that are covert. Calls to execresult
should be for discovery and information extraction only. Effectively calls to this function will be also repeatedly executed by cf-promises
when it does syntax checking, which is highly undesirable if the command is expensive. Consider using commands
promises instead, which have locking and are not evaluated by cf-promises
.
See also: execresult()
.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4