LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1032|回复: 4

求救!请教!一个sed命令不能如愿执行:(

[复制链接]
发表于 2007-8-2 16:21:24 | 显示全部楼层 |阅读模式
命令是放在脚本里的

sed -e 's/^max_leases.*/max_leases $var/' filename

执行后,文件filename中max_leases字段变成了max_leases $var,怎样才能将$var变量展开啊,我的意图是将字段变成var变量的值,谢谢高手解答!!!
发表于 2007-8-2 17:09:35 | 显示全部楼层
不要单引号。

  1. sed -e s/^max_leases.*/"max_leases $var"/ filename
复制代码
回复 支持 反对

使用道具 举报

发表于 2007-8-3 17:10:59 | 显示全部楼层
先是单引号,然后双引号,把$var引用起来
sed -e 's/^max_leases.*/max_leases '"$var"'/' filename
回复 支持 反对

使用道具 举报

发表于 2007-8-4 01:33:59 | 显示全部楼层
单引号全部不进行字符转义
双引号除了 单引号、反引号、$、(还有一个忘了好象是双引号?) 外其余都不进行字符转义
回复 支持 反对

使用道具 举报

发表于 2007-8-5 17:43:39 | 显示全部楼层
Post by gzyui
先是单引号,然后双引号,把$var引用起来
sed -e 's/^max_leases.*/max_leases '"$var"'/' filename

直接用双引号就行
sed -e "s/^max_leases.*/max_leases $var/" filename
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表