我正在尝试使用临时文件,以便可以将临时文件作为参数传递给exec命令。
我声明要用作的命令
CLI_CMD := "/home/go/src/hello/abc.sh"
xmlFile, err := ioutil.TempFile("", hostIP)
command := CLI_CMD + " " + xmlFile.Name()
我终于以如下方式运行命令
cmd := exec.Command(command)
stdout, err := cmd.Output()
要确认abc.sh是否存在
[prompt] ls /home/go/src/hello/abc.sh
/home/go/src/hello/abc.sh
我还要确认临时文件是否存在
[prompt] ls /tmp/10.166.30.47.xml187906126
/tmp/10.166.30.47.xml187906126
我可以使用ls命令在此处看到这两个文件。我不明白为什么我得到一个错误,但找不到这些文件中的任何一个。还有在这里找不到什么文件,.sh文件或临时文件
2019/03/08 17:50:31 fork/exec /home/go/src/hello/abc.sh /tmp/10.166.30.47.xml187906126: no such file or directory
我试图总结代码以使其易于理解。
答案 0 :(得分:2)
像这样更改执行部分。
cmd := exec.Command("bash","-c",command)