bash 中 sed 未终止的 s 命令出错

Kev*_*Kev 4 bash sed

我在 bash 脚本中使用 sed 时遇到问题。这是行:

sed -i "s/"$name"/"$input"/g" ~/input.script
Run Code Online (Sandbox Code Playgroud)

我收到此错误:sed:-e 表达式 #1,字符 24:未终止的 `s' 命令

奇怪的是,它在我的代码的早期版本中工作。我一直在解决问题,但我找不到解决方案。

Eug*_*sca 5

您不需要嵌套引号。另外,尝试更改分隔符:

sed -i "s@$name@$input@g" ~/input.script
Run Code Online (Sandbox Code Playgroud)

  • 这里使用 `@` 是为了让变量值中的 `/` 没有问题。它用变量值中的`@` 来解决问题。因此,您需要选择一些无法在您的输入中正确执行此操作的内容。 (3认同)