shell - 如何在 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
解决方案
您可以将输出通过管道传输到 STDOUT 并使用@-
:
使用 @- 将使 curl 从标准输入读取头文件。
资源:man curl
echo " \
{}
" | \
curl \
--request POST "https://wwww.example.com/api/v1/test/delete" \
--header "Content-Type: application/json" \
--data @-
这不像 EOF 那样干净,但它确实有效。
推荐阅读
- php - 如何将特定文本从 html 属性复制到 PHP 字符串?
- kubernetes - 在 istio 中,一个命名空间中定义的虚拟服务如何使用另一个命名空间中定义的网关
- google-chrome - URL 中的 `#:~:text=` 位置哈希到底是什么?
- java - 使用 mockito 监视数组元素返回需要但在调用方法时未调用
- python - 使用python3从txt文件中删除第一行
- multithreading - Akka-HTTP 请求级客户端 API 创建了太多线程
- acumatica - 在 PMQuoteMaint 中覆盖 CopyToQuote
- javascript - 按日期分组并对计数求和
- python - 如何保持 IPython 笔记本中显示的输出?
- apache-kafka - Kafka批量消费者没有重复记录