为了账号安全,请及时绑定邮箱和手机立即绑定

如何将临时文件作为命令行参数传递

如何将临时文件作为命令行参数传递

Go
长风秋雁 2023-06-12 16:59:40
我正在尝试使用临时文件,以便可以将临时文件作为参数传递给 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还要确认 Tempfile 存在,我这样做[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我试图总结代码以使其易于理解。
查看完整描述

1 回答

?
临摹微笑

TA贡献1982条经验 获得超2个赞

像这样更改您的执行部分。

cmd := exec.Command("bash","-c",command)


查看完整回答
反对 回复 2023-06-12
  • 1 回答
  • 0 关注
  • 96 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信