unix 如何使用SQL查询和Curl命令

inkz8wg9  于 2023-01-20  发布在  Unix
关注(0)|答案(1)|浏览(235)

我已经使用Curl命令编写了一个bash脚本。我正在使用一个SQL查询,它给出了一个值为5的计数。我想将该计数值赋给T_4。不确定如何在bash脚本中使用Curl命令完成此操作。

#!/bin/sh
result=$(
curl --netrc-file ~/.netrc -d '[
{
    "T_1": "Test1",
    "T_2": "Test2",
    "T_3": "Test3",
    "T_4": "1"
}
]' -X POST -H "Content-Type: application/json" https://www.testurl.com -d "SELECT count(5) FROM DUAL")
echo "Response from server"
echo $result
exit

另外,当我在putty中运行上面的脚本时,我收到一个错误消息,内容是-

"errorCode":"SIP-10322","errorMessage":"SIP-10322: rows updated is not 1:0"

我需要你的意见。
SQL查询的输出是一个度量值,我必须在Rest调用(Post API)中使用它。有人能指导我吗?

n6lpvg4x

n6lpvg4x1#

使用命令替换执行查询并将输出分配给shell变量。例如,如果数据库是MySQL,则可以用途:

t_4=$(mysql -e "SELECT 5 FROM DUAL")

然后使用JSON参数中的变量。

json='[
{
    "T_1": "Test1",
    "T_2": "Test2",
    "T_3": "Test3",
    "T_4": "'$t_4'"
}
]'
result=$(curl --netrc-file ~/.netrc -d "$json" -X POST -H "Content-Type: application/json" https://www.testurl.com)

相关问题