首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 操作系统 > UNIXLINUX >

sed使用变量的有关问题

2012-04-10 
sed使用变量的问题shell脚本中使用如下sed语句替换一些文本中的变量:#!/bin/shsed -i s/ORACLE_HOME_PATH

sed使用变量的问题
shell脚本中使用如下sed语句替换一些文本中的变量:

#!/bin/sh
sed -i 's/ORACLE_HOME_PATH/XXXXX_HOME_PATH/g' a.sql x.sql c.sql v.sql b.sql n.sql

手动将XXXXX_HOME_PATH修改后:
sed -i 's/ORACLE_HOME_PATH/\/u01\/app\/oracle\/product\/11.2.0\/dbhome_1/g' a.sql x.sql c.sql v.sql b.sql n.sql

执行成功;

现在想用使用变量:
val=$ORACLE_HOME
sed -i 's/ORACLE_HOME_PATH/”$val“/g' a.sql x.sql c.sql v.sql b.sql n.sql

执行失败。
同样红色的部分试过:‘$val’, `$val`, val, 但是都不对,请问应该如何写?

[解决办法]
引号之引号

sed -i 's/ORACLE_HOME_PATH/"'$val'"/g' a.sql x.sql c.sql v.sql b.sql n.sql

楼主可以用简单的命令验证
val=123; awk ' BEGIN {print "'$val'"}' < /dev/null

热点排行