Answers:
bundle agent test
{
vars:
"my_result" string => execresult("/bin/ls /tmp/test/","noshell");
reports:
ubuntu::
"Output is : $(my_result)";
}
参见https://cfengine.com/manuals/cf3-solutions#Execresult-example
从3.3.0版开始,您可以改用lsdir()函数。
vars:
"result" slist => lsdir("/tmp/test", ".*", "false");
阅读更多:https : //cfengine.com/manuals/cf3-Reference#Function-lsdir
ls用例来说更好,因为它利用了CFEngine的内部函数缓存,并且每次运行都不会多次调用外部命令。当然execresult()更一般。
cf-agent运行将运行几次。请参阅有关正常订购的文档以及文档execresult()底部的注释。因为ls它可能并不重要,但是对于更昂贵的命令来说肯定是重要的。