如何通过管道将命令输出传递给curl

lbu*_*tlr 1 curl pipe

我正在使用curl 将一些urlencoded 内容发布到URL,并且我希望curl 命令的内容来自管道。基本上...

... | curl -s --data-urlencode '{\"text\":\"$PIPE_RESULT\"}' http://...

我认为 $0 可能有效,但我收到 invalid_payload 错误,其简单文本如下:

echo "http://www.example.com" | curl -s --data-urlencode '{"text\":\"$0\"}' https:/...

Dan*_*erg 5

xargs 来救援!

echo "http://www.example.com" | \
xargs -I moo curl -s --data-urlencode '{"text\":\"moo\"}' https://example.com
Run Code Online (Sandbox Code Playgroud)

赋予 xargs 的“moo”字符串意味着它将用从 stdin 读取的内容替换以下字符串中的“moo”。