gpt4 book ai didi

bash - 如何在单引号内扩展变量?

转载 作者:行者123 更新时间:2023-12-02 17:27:02 25 4
gpt4 key购买 nike

我想运行这个简单的 bash 脚本:

  curl https://www.googleapis.com/urlshortener/v1/url?key=MyKey -H \\
'Content-Type: application/json' -d '{"longUrl": "$1"}'

但 bash 不会扩展 $1,因为 -d 后有单引号。谷歌按预期返回错误:

{
"error": {
"errors": [
{
"domain": "global",
"reason": "invalid",
"message": "Invalid Value",
"locationType": "parameter",
"location": "resource.longUrl"
}
],
"code": 400,
"message": "Invalid Value"
}
}

如何在 curl 中扩展 -d 发送的 json 对象的单引号内的 $1

这个问题似乎是重复的,但我无法从其他问题中找出答案。我提供脚本是希望它能作为贡献对其他人有用。

最佳答案

您可以只使用双引号,转义 JSON 字符串中的双引号:

curl https://www.googleapis.com/urlshortener/v1/url?key=MyKey -H \\
'Content-Type: application/json' -d "{\"longUrl\": \"$1\"}"

关于bash - 如何在单引号内扩展变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38014344/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com