我有一个在mono上运行的短程序,它构建一个shell脚本来从一组正在运行的docker容器中收集日志。该脚本包含一系列命令,如下面的命令
docker logs $(docker ps -f ancestor=comp/bff -q) > bff.log
如果我在终端执行它按预期工作。对于脚本中的每一行
,使用下面的(F#)代码运行失败并显示docker: command not found
let p = new System.Diagnostics.Process()
p.StartInfo.FileName <- "sh"
p.StartInfo.Arguments <- scriptPath
p.StartInfo.UseShellExecute <- true
p.Start() |> ignore
p.WaitForExit()
那么在代码中执行脚本的技巧与终端中的执行相匹配