gpt4 book ai didi

sql - bash 脚本 curl 命令中的单引号不断转换为双引号

转载 作者:太空宇宙 更新时间:2023-11-04 12:36:07 26 4
gpt4 key购买 nike

看过很多相关帖子,但没有任何帮助我解决问题。我在 bash 脚本中有一个 CURL 命令。 Data 元素包含 SQL 命令。 SQL 命令包含一个必须用单引号引起来的参数。所以,它看起来像这样:

jsonData=$(curl --request POST \
--url $uribase/Redrock/Query \
--header 'content-type: application/json' \
--header 'X-NATIVE-CLIENT: 1' \
--data '{"Script":"'"Select Server.ID, Server.ComputerClass, Server.FQDN, Server.Name, Server.SessionType from Server WHERE Server.ComputerClass='Unix' COLLATE NOCASE"'"}')

我已经尝试了很多引用 Server.ComputerClass 值的变体,但都无济于事。我无法将其解析为 ='Unix'。甚至尝试过\u0027 unicode。任何帮助表示赞赏。

最佳答案

与其尝试正确地引用它,不如通过标准输入将它从此处文档提供给 curl。使用数组还可以让您更清晰地组织选项。

curl_opts=( --request POST
--url "$uribase/Redrock/Query"
--header 'content-type: application/json'
--header 'X-NATIVE-CLIENT: 1'
--data @-
)

@- 告诉 curl 从名为 - 的文件中读取数据,这是一个 curl - 为标准输入定义的别名。

jsonData=$(curl "${curl_opts[@]}" <<EOF
{ "Script": "Select Server.ID, Server.ComputerClass, Server.FQDN, Server.Name, Server.SessionType from Server WHERE Server.ComputerClass='Unix' COLLATE NOCASE"}
EOF
)

关于sql - bash 脚本 curl 命令中的单引号不断转换为双引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41754111/

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