工程中需要用到ffmpeg,想直接用exec包调用shell命令。本来以为很简单,结果折腾了一下午,最后查到了解决方案。

假如之前执行报错的语句为:

cmd := exec.Command("echo", "'helloworld!'")

out, err := cmd.Output()

那么改为:

c := "echo hello world"

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

out, err := cmd.Output()

即可!

感谢万能的stack overflow

reference:

https://stackoverflow.com/questions/20437336/how-to-execute-system-command-in-golang-with-unknown-arguments/20438245#20438245?newreg=80e5ccfd4f7f447c9acc931f5509af2b

有疑问加站长微信联系(非本文作者)