在 golang 中执行带参的 curl 命令
执行带参 curl 命令是使用 go 语言中内置的 exec 包实现的。此前,你在代码中使用 exec.command 时遇到了参数问题,无法正确执行带参命令。
根据官方文档的说明,exec.command 函数的参数由多个字符串组成。因此,要正确执行带参 curl 命令,需要将参数拆分成多个字符串并传递给函数。
func main() { curl := exec.command("curl", "-k", "-s", "-v", "https://www.baidu.com") // 修改了此行 out, err := curl.output() if err != nil { fmt.println("erorr", err) return } fmt.println(string(out)) }
除了参数问题外,原始命令行还存在两个问题:
如果确实希望在 go 中实现重定向,可以使用以下代码将完整的命令包裹在 shell 中运行:
curl := exec.Command("bash", "-c", "curl https://www.baidu.com > x")