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

SED含换行变量替换报错:unterminated `s' command问题排查

报错原因解析
  • 换行符导致sed命令被截断:你的oldValue和newValue变量包含换行符,shell将变量代入sed命令时,会直接把换行符展开成命令行的换行。这会让sed把换行后的内容当成独立命令,而非原s替换命令的一部分。展开后的命令实际是:

    sed -i "s/    related_pg_pin : vph;
      value : 8;/    related_pg_pin : vph;
      value : 11500;/g" $file
    

    对sed而言,第一行的s命令到换行处就中断了,缺少闭合的/,因此触发“unterminated `s' command”错误。

  • 潜在的分隔符冲突问题:另外需要注意,sed默认用/作为s命令的分隔符,如果变量内容中出现/字符,也会破坏命令结构,导致格式错误——这是这类场景下的常见坑点。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 22:56:28