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

执行脚本生成Markdown文件时遇rnsend-email命令未找到错误的原因

脚本执行错误:rnsend-email: command not found 原因解析

这个错误的核心问题出在shell对变量内容的解析方式上,咱们一步步拆解:

  1. 变量未被双引号包裹导致命令拆分
    你直接用了echo $body > ravgeet.md,没有给$body加上双引号。在shell中,当不使用双引号引用变量时,shell会对变量内容进行「单词拆分」和「路径扩展」——它会把所有空白字符(包括\r、\n、空格)都当成分隔符,把整个字符串拆分成多个独立的“命令片段”。

  2. \r回车符带来的命令名错乱
    你的body里用了Windows风格的\r\n换行符,当shell解析时,\r(回车符)会被当成普通字符处理。原本在代码块里的send-email ravgeetdhillon@gmail.com被拆分出来后,前面的\r会和字符拼接,导致shell误以为你要执行rnsend-email这个不存在的命令(\r会把光标移到行首,覆盖了前面的位置,最终呈现出错误的命令名)。

解决方法

  • 给变量加上双引号:把输出命令改成echo "$body" > ravgeet.md,双引号会保留变量里的换行、空格等格式,避免shell错误解析内容为命令。
  • 统一换行符风格:把body里的\r\n改成Unix/Linux风格的\n,减少跨平台换行符带来的解析问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.09 19:07:58