You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么执行curl命令时会等待按键输入?删除URL中--后可解决的原因是什么?

问题原理说明
  • 首先是Shell特殊字符解析逻辑:你的URL中包含&符号,这是Shell的内置控制字符,若URL未用引号包裹,Shell会将&识别为后台运行标记,把整条命令截断为两部分:&前的curl命令会被放到后台执行,&后的t=xxx段会被当作独立的Shell变量赋值语句执行,不会传递给curl。
  • 其次是curl的参数解析规则:curl解析入参时,若遇到独立的--标记,会终止后续所有选项解析,若--后没有显式传入请求地址,curl会默认等待标准输入的上传内容,这就是命令卡住的原因。你被截断后的curl入参刚好以--结尾,curl会把这段末尾的--识别为参数终止标记,等待输入,所以出现卡住现象。
  • 删除URL末尾的--后,curl拿到的入参中不再存在--标记,会直接把入参当作请求地址执行,无需等待输入,因此问题解决。
自动化实现方案

不需要删除URL的--部分,最简单的方案是用单引号包裹整个URL,避免Shell解析特殊字符,命令如下:

curl 'https://jkanime.net/um.php?e=VTJpeCsrL3BVY2xMaEd0YWhyM1k4SDdHelZ4OGZSeXFsOHBla1QrcnBPQm4wUWc1eE1TOThmWlBOb2xLOEJCeWlGenpML2tYelA3Tm8xU1lDMDRwUlE9PTo616MlXtdmRfi6FOwaoBRqeA--&t=5ec9cff996b02bf751b55c92c4cb1170'

如果场景不允许修改URL加引号,也可以将标准输入重定向到/dev/null,强制curl不读取用户输入,命令如下:

curl https://jkanime.net/um.php?e=VTJpeCsrL3BVY2xMaEd0YWhyM1k4SDdHelZ4OGZSeXFsOHBla1QrcnBPQm4wUWc1eE1TOThmWlBOb2xLOEJCeWlGenpML2tYelA3Tm8xU1lDMDRwUlE9PTo616MlXtdmRfi6FOwaoBRqeA--&t=5ec9cff996b02bf751b55c92c4cb1170 < /dev/null

内容的提问来源于stack exchange,提问作者Mietek05

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 06:24:07