我在使用bash和sed时在字符串中出现了一些转义括号的问题。在bash/sed中跳转括号
下面是我在做什么:
#!/bin/bash
olddescription='(1 phrase/line)'
newdescription="\"$volledigenaam\""
(cd /home/hew/git/odoo/addons/$technischenaam ; sed -i s/$olddescription/$newdescription/g __openerp__.py)
我读过,如果我使用单引号,我不需要对括号进行转义。 我也试着用反斜杠转义括号,但也没有工作。
这是错误:
sed: -e expression #1, char 4: unterminated `s' command
如何解决这个任何想法?
单引号不变量值的一部分,因此必须在没有影响sed命令。尝试在开头添加一个“set -x”,你应该看到事物是如何扩展的。 –
顺便说一句,[BashFAQ#21](http://mywiki.wooledge.org/BashFAQ/021)是你在这里尝试做的事情。请参阅其中定义的'gsub_literal'。 –