bash中sed unterminated s命令出错
我在bash脚本中使用sed时遇到问题。 这是一句话:bash中sed unterminated s命令出错,bash,sed,Bash,Sed,我在bash脚本中使用sed时遇到问题。 这是一句话: sed -i "s/"$name"/"$input"/g" ~/input.script 我得到了这个错误: sed:-e表达式#1,字符24:未终止的's'命令 奇怪的是,它在我的代码的早期版本中工作。我一直在解决问题,但找不到解决方案。您不需要嵌套引号。此外,请尝试更改delimeter: sed -i "s@$name@$input@g" ~/input.script 你的变量可能有一个换行符或斜杠,这让人困惑。@EtanReis
sed -i "s/"$name"/"$input"/g" ~/input.script
我得到了这个错误:
sed:-e表达式#1,字符24:未终止的's'命令
奇怪的是,它在我的代码的早期版本中工作。我一直在解决问题,但找不到解决方案。您不需要嵌套引号。此外,请尝试更改delimeter:
sed -i "s@$name@$input@g" ~/input.script
你的变量可能有一个换行符或斜杠,这让人困惑。@EtanReisner我是个白痴。这就是错误所在。变量中有一个空格。空格只会导致不带引号的变量出现问题。因此,如果你像尤金尼奥·罗斯卡所说的那样移除它们,那么问题就应该消失了。换行符和斜杠一样仍然是一个问题。请参阅此处使用的
@
允许变量值中的/
没有问题。它在变量值中将问题转换为@
。因此,您需要选择输入中无法正确执行此操作的内容。@Etan Reisner:是的,我知道:)仍然感谢您的提及。无论如何,OP似乎解决了他的问题(等待解释…)。是的,那不是给你的,那是给OP/等等的。