Json 在bash脚本中使用ncat

Json 在bash脚本中使用ncat,json,bash,curl,webhooks,netcat,Json,Bash,Curl,Webhooks,Netcat,我正在用ncat在bash上运行简单的http服务器,它应该在POST中接收一些json,然后从接收到的json编译另一个带有变量替换的json。如何使脚本在第一次循环后向前运行 “服务器A”向“服务器B”发送一些json。“服务器B”-是一个docker容器,其中包含一些脚本。“服务器C”是目标。脚本如下 第一部分,在5000端口上启动ncat,将所有输入重定向到文件 #!/bin/bash ncat -lk 5000 > /tmp/ncat.txt 从收入表中替换变量 id=$(e

我正在用ncat在bash上运行简单的http服务器,它应该在POST中接收一些json,然后从接收到的json编译另一个带有变量替换的json。如何使脚本在第一次循环后向前运行

“服务器A”向“服务器B”发送一些json。“服务器B”-是一个docker容器,其中包含一些脚本。“服务器C”是目标。脚本如下

第一部分,在5000端口上启动ncat,将所有输入重定向到文件

#!/bin/bash

ncat -lk 5000 > /tmp/ncat.txt
从收入表中替换变量

id=$(echo $(date +%s))
name=$(cat /tmp/ncat.txt | grep receiver | jq -r '.alerts[].labels.alertname')
status_current=$(cat /tmp/ncat.txt | grep receiver | jq -r '.status')
info=$(cat /tmp/ncat.txt | grep receiver | jq -r '.commonAnnotations.message')
将重新编译的json发送到“服务器C”

问题是:在收到第一个请求后,脚本停止工作。如何在那里打圈?比如:ncat监听端口,接收json,重新编译变量,执行curl,ncat监听端口。。。 第二个问题:当我从“服务器A”(简单curl-X POST-d“”)发送伪json时,脚本的第二步将不会执行,直到我中断(ctrl+c)curl请求


提前感谢。

我将使用fifo而不是静态文件。请使用netcat命令的输出更新您的问题
curl http://server-c/webhook -X POST -d '
{
  "id":"'"$id"'",
  "name":"'"$name"'",
  "status_current":"'"$status_current"'",
  "info":"'"$info"'"
}'