'在 sed 中出现在错误的位置
我正在尝试使用 sed 在文件中设置 IP。我正在运行此命令
sed -i 's:$dbserver='':$dbserver='10.0.0.2':' t.conf
但当我查看 t.conf 时,该行是
$dbserver=10.0.0.2''
有人知道为什么两个单引号出现在行尾吗?
我正在运行 Debian Linux
I am trying to set an IP in a file with sed. I am running this command
sed -i 's:$dbserver='':$dbserver='10.0.0.2':' t.conf
but when I look in t.conf the line is
$dbserver=10.0.0.2''
Anyone know why the two single quotes are appearing at the end of the line?
I am running Debian Linux
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您需要将第二个
sed
参数括在双引号中:这样,
$dbserver
将在传递给sed
之前替换为其值,并且单引号不需要转义。如果您希望
$dbserver
按字面意思出现在 conf 文件中,请在美元符号前面加上反斜杠。You need to enclose the second
sed
argument in double quotes:This way
$dbserver
will be substituted with its value before being passed tosed
, and the single quotes won't need escaping.If you want
$dbserver
to appear literally in the conf file, preceed the dollar signs with a backslash.