sed加载变量的问题

sh/bash/dash/ksh/zsh等Shell脚本
回复
cheng.liu
帖子: 2
注册时间: 2013-11-22 13:03
系统: win7

sed加载变量的问题

#1

帖子 cheng.liu » 2013-11-22 13:06

media_v=`awk -F= '/play_version/ { print $2 }' /home/work/sig/sig.s|cut -c 1-4`;
sed -i '/^media_version='/c'media_version=$media_v' /var/data/tmp/web_config.conf

将变量media_v输出到sed里,但sed输出的是$media_v,并不是变量的内容
头像
YeLee
论坛版主
帖子: 26406
注册时间: 2008-08-13 8:48
系统: Fundu i64
来自: 东海硇州,一双管钥。
联系:

Re: sed加载变量的问题

#2

帖子 YeLee » 2013-11-22 14:06

別用单引,用双引。 :em01
◎当我站在道德的高度上俯视别人的时候,发现自己是多么渺小。
♥执着但不偏激,反对而不排斥,坚决捍卫矛盾体的存在方式。
★★★天气预报★★★
fcitx-yatable一个可以使用的码表输入法
[教程]几个实例攻克软件编译难关
Gentoo Development Guide
字体相关
sk1418
帖子: 229
注册时间: 2007-07-01 17:36
系统: (En):System
来自: (En):address
联系:

Re: sed加载变量的问题

#3

帖子 sk1418 » 2013-12-22 22:50

单引号不会expand variable,用双引号。
这也是在SO上被问烂了的问题。
---
regards,

Kent
头像
ceclinux
帖子: 308
注册时间: 2013-01-17 2:42
系统: Ubuntu 12.04LTS

Re: sed加载变量的问题

#4

帖子 ceclinux » 2013-12-23 1:36

跟sed没关系,''里面$在shell的意思就是字面意思,而不是它的值,改成双引号会先被shell解析成它的值
Ubuntu 12.04 LTS
laptop:Acer 4750G CPU:I5-2410
内存:2+2G 硬盘:500+750
http://www.ceclinux.org
回复