Antworten:
bundle agent test
{
vars:
"my_result" string => execresult("/bin/ls /tmp/test/","noshell");
reports:
ubuntu::
"Output is : $(my_result)";
}
Siehe https://cfengine.com/manuals/cf3-solutions#Execresult-example
Ab Version 3.3.0 können Sie stattdessen die Funktion lsdir () verwenden.
vars:
"result" slist => lsdir("/tmp/test", ".*", "false");
Lesen Sie mehr: https://cfengine.com/manuals/cf3-Reference#Function-lsdir
lsAnwendungsfall tatsächlich besser, da das interne Funktions-Caching von CFEngine verwendet wird und kein externer Befehl mehrmals pro Lauf aufgerufen wird. Natürlich execresult()ist allgemeiner.
cf-agentLauf ausgeführt. Weitere Informationen finden Sie in den Dokumenten zur normalen Bestellung und im Hinweis unten in den Dokumentenexecresult(). Dennlses mag nicht wichtig sein, aber für teurere Befehle wird es sicherlich sein.