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

Unix Korn Shell中用curl下载CSV报错‘curl未找到’问题排查

问题排查与解决

你的问题是:更换CSV下载URL后,执行SSH代理服务器的curl命令时提示“curl not found”,但原脚本之前能正常运行。下面是几个排查方向和解决办法:

  • 确认代理服务器上curl的实际路径
    原脚本里用了/usr/bin/curl的绝对路径,但有可能代理服务器上的curl安装路径不是这个。你可以在本地执行这条命令,查看代理服务器上curl的真实路径:

    ssh ${PROXY_SERVER} "which curl"
    

    把得到的路径替换掉命令里的/usr/bin/curl即可。

  • 处理URL中的特殊字符解析问题
    新URL里包含?format=csv,问号在shell中属于通配符,当你用双引号包裹远程命令时,本地shell会尝试解析这个问号,导致传到代理服务器的命令被破坏,进而出现curl相关的错误。有两种解决方式:

    1. 对URL中的问号进行转义:
      ssh ${PROXY_SERVER} "rm -f ${SHARED_DATE_FILE} && /usr/bin/curl --silent https://example-123.com/dts/inrs\?format=csv > ${SHARED_DATE_FILE}"
      
    2. 用单引号包裹远程命令(注意:如果${SHARED_DATE_FILE}是本地变量,需要把变量部分从单引号里拆出来):
      ssh ${PROXY_SERVER} 'rm -f '"${SHARED_DATE_FILE}"' && /usr/bin/curl --silent https://example-123.com/dts/inrs?format=csv > '"${SHARED_DATE_FILE}"
      
  • 检查代理服务器上的curl是否正常存在
    虽然原脚本之前能用,但不排除代理服务器上的curl被意外卸载、移动,或者执行权限发生了变化。可以执行这条命令检查:

    ssh ${PROXY_SERVER} "ls -l /usr/bin/curl"
    

    如果返回“No such file or directory”,说明curl被卸载或移动了,需要重新安装curl,或者找到新的路径替换;如果权限显示不对(比如没有执行权限),可以用chmod +x /usr/bin/curl修复权限(需要代理服务器的管理员权限)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 04:21:06