我试图在sed的文件中设置一个ip。我在执行这个命令sed -i 's:$dbserver='':$dbserver='10.0.0.2':' t.conf
但当我看t.conf时,行是$dbserver=10.0.0.2''
有人知道为什么这两个单引号出现在行尾吗?
我在运行debian linux
最佳答案
您需要将第二个sed
参数用双引号括起来:
sed -i "s:$dbserver='':$dbserver='10.0.0.2':" t.conf
这样,在传递给
$dbserver
之前,sed
将被其值替换,并且单引号不需要转义。如果希望
$dbserver
在conf文件中按字面意思显示,请在美元符号前面加上反斜杠。关于linux - sed出现在错误的位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7244716/