工程中需要用到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