Réponses:
bundle agent test
{
vars:
"my_result" string => execresult("/bin/ls /tmp/test/","noshell");
reports:
ubuntu::
"Output is : $(my_result)";
}
Voir https://cfengine.com/manuals/cf3-solutions#Execresult-example
Depuis la version 3.3.0, vous pouvez utiliser la fonction lsdir () à la place.
vars:
"result" slist => lsdir("/tmp/test", ".*", "false");
en savoir plus: https://cfengine.com/manuals/cf3-Reference#Function-lsdir
lscas d'utilisation car il utilise la mise en cache des fonctions internes de CFEngine et n'appelle pas une commande externe plusieurs fois par exécution. Bien sûr, execresult()c'est plus général.
cf-agentexécution. Voir les documents sur la commande normale et la note au bas des documents pourexecresult(). Carlsce n'est peut-être pas important, mais pour des commandes plus chères, ce le sera certainement.