'在sed出现在错误的地方

时间:2011-08-30 14:21:17

标签: linux sed debian

我正在尝试使用sed在文件中设置IP。我正在运行此命令

sed -i 's:$dbserver='':$dbserver='10.0.0.2':' t.conf

但是当我查看t.conf时,该行是

$dbserver=10.0.0.2''

任何人都知道为什么这两个单引号出现在该行的末尾?

我正在运行Debian Linux

1 个答案:

答案 0 :(得分:3)

您需要将第二个sed参数括在双引号中:

sed -i "s:$dbserver='':$dbserver='10.0.0.2':" t.conf

这种方式$dbserver将在传递给sed之前用其值替换,单引号不需要转义。

如果您希望$dbserver字面上显示在conf文件中,请在美元符号前加上反斜杠。