-- main.mcl -- exec "exec0" { cmd => "echo this is stdout && echo this is stderr 1>&2", # to stdout && stderr shell => "/bin/bash", } file ["/tmp/command-output", "/tmp/command-stdout", "/tmp/command-stderr",] { state => $const.res.file.state.exists, } Exec["exec0"].stdout -> File["/tmp/command-stdout"].content Exec["exec0"].stderr -> File["/tmp/command-stderr"].content # XXX: The Content line can be swapped randomly, create test to allow either. # XXX: In the meantime, we skip including it. #Exec["exec0"].output -> File["/tmp/command-output"].content # Field: file[/tmp/command-output].Content = "this is stdout\nthis is stderr\n" # Field: file[/tmp/command-output].Content = "this is stderr\nthis is stdout\n" -- OUTPUT -- Edge: exec[exec0] -> file[/tmp/command-stderr] # exec[exec0] -> file[/tmp/command-stderr] Edge: exec[exec0] -> file[/tmp/command-stdout] # exec[exec0] -> file[/tmp/command-stdout] Field: exec[exec0].Cmd = "echo this is stdout && echo this is stderr 1>&2" Field: exec[exec0].Shell = "/bin/bash" Field: file[/tmp/command-output].State = "exists" Field: file[/tmp/command-stderr].Content = "this is stderr\n" Field: file[/tmp/command-stderr].State = "exists" Field: file[/tmp/command-stdout].Content = "this is stdout\n" Field: file[/tmp/command-stdout].State = "exists" Vertex: exec[exec0] Vertex: file[/tmp/command-output] Vertex: file[/tmp/command-stderr] Vertex: file[/tmp/command-stdout]