Cfengine Executar ação com base no valor da variável

1

No cfengine, eu tenho uma variável que é configurada para a saída de um comando. Vamos dizer que myoutput variável está definido como "oi mundo". Como posso executar um comando com base no conteúdo da minha saída.

Eu gostaria de fazer algo assim (código sudo cfengine):

bundle agent test
{

    vars:
        "myoutput" string => execresult("echo 'hi world';","noshell");

    commands:
        myoutput=="hi world"::
            "/usr/bin/php myaction.php";  
}
    
por Daniel 17.10.2013 / 16:48

1 resposta

1

Há uma função strcmp () para isso: link

Tente isto:

bundle agent test
{
vars:
    "expected" string => "hi world";
    "myoutput" string => execresult("/bin/echo 'hi world'","noshell");

classes:
"equal" expression => strcmp($(myoutput),$(expected));

reports:
  equal::
    "output is AS expected: $(myoutput)";
     # do other stuff                                                                                                                                     
}

Isto define uma classe "igual" se a saída de execresult () é a mesma que a saída esperada.

    
por 18.10.2013 / 11:07