Linux ';出现在错误的地方

Linux ';出现在错误的地方,linux,sed,debian,Linux,Sed,Debian,我正在尝试使用sed在文件中设置IP。我正在运行这个命令 sed-i的:$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将在传递到se

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

sed-i的:$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文件中按字面意思显示,请在美元符号前面加一个反斜杠。

使用
“s:$dbserver=”:$dbserver='10.0.0.2':“
insteadI也必须跳出美元,但是的!非常感谢!这起作用了,我确实需要将$dbserver留在那里。我喜欢解决方案非常简单的时候