首页 > 解决方案 > 如何在 Fish Shell 中使用 EOF 和 curl?

问题描述

如何在 Fish shell 中使用 EOF/HEREDOC 和 curl。根据这个问题,这是不可能的,建议使用管道连接到 STDOUT,但应用程序必须支持它并专门寻找 STDIN。上游 Fish问题 #530已锁定以待跟进。我将如何在 Fish 中转换这个常见示例?

curl \
--request POST "https://wwww.example.com/api/v1/test/delete" \
--header "Content-Type: application/json" \
--data @- << EOF
{}
EOF

标签: shellcurlfish

解决方案


您可以将输出通过管道传输到 STDOUT 并使用@-

使用 @- 将使 curl 从标准输入读取头文件。
资源:man curl

echo " \
{}
" | \
curl \
--request POST "https://wwww.example.com/api/v1/test/delete" \
--header "Content-Type: application/json" \
--data @-

这不像 EOF 那样干净,但它确实有效。


推荐阅读