我正在尝试使用sed在文件中设置IP。我正在运行此命令
sed -i 's:$dbserver='':$dbserver='10.0.0.2':' t.conf
但是当我查看t.conf时,该行是
$dbserver=10.0.0.2''
任何人都知道为什么这两个单引号出现在该行的末尾?
我正在运行Debian Linux
答案 0 :(得分:3)
您需要将第二个sed
参数括在双引号中:
sed -i "s:$dbserver='':$dbserver='10.0.0.2':" t.conf
这种方式$dbserver
将在传递给sed
之前用其值替换,单引号不需要转义。
如果您希望$dbserver
字面上显示在conf文件中,请在美元符号前加上反斜杠。