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
相关产品推荐
相关产品推荐

