You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Go语言如何拼接含引号、斜杠的字符串?拼接curl命令报错如何解决

Go语言拼接curl命令字符串报错的解决方法

你遇到的unexpected string at the end of Line报错,通常是两类原因导致:

  1. 字符串拼接时存在未闭合的引号、上下文代码漏写括号/分号等基础语法问题
  2. 把拼接后的整串curl命令直接传给了exec.Command,没有按照要求拆分为独立参数

场景1:仅需生成curl命令字符串

如果你的需求只是得到符合要求的curl命令文本,推荐用Go的原生字符串字面量配合fmt.Sprintf实现,不需要手动拼接字符串,也不需要处理引号转义:

import "fmt"

// ipString为你已定义的IP地址变量
cmd := fmt.Sprintf(`curl -u admin:admin -H 'Accept: application/yang-data+json' -s http://%s/restconf/data/ -v`, ipString)

场景2:需要在Go代码中执行该curl命令

如果是要实际执行命令,不推荐直接传递整串命令,符合Go标准库规范的写法是把命令和参数拆分后传给exec.Command:

import (
    "fmt"
    "os/exec"
)

ipString := "192.168.1.100" // 替换为实际IP值
requestUrl := fmt.Sprintf("http://%s/restconf/data/", ipString)
// 按顺序传入命令和所有参数
cmd := exec.Command("curl",
    "-u", "admin:admin",
    "-H", "Accept: application/yang-data+json",
    "-s", requestUrl,
    "-v",
)
// 执行命令并获取输出
output, err := cmd.CombinedOutput()
if err != nil {
    // 自行处理错误逻辑
}

内容的提问来源于stack exchange,提问作者Pulkit Kundra

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 05:36:03