互联网服务AIXsed

sed替换指令不能包含${}.

#!/bin/bashold=MyHostKeynew=1234sed 's/${old}/{new}/g' aaaa.confecho "----------------------------"sed 's/MyHostKey/1234/g' aaaa.conf执行上面的这个脚本,结果如下:第一个没有执行成功,为什么啊?大神们给看看吧!bash-4.2# ./test.sh {   "frequency":"60...显示全部

#!/bin/bash

old=MyHostKey

new=1234

sed 's/${old}/{new}/g' aaaa.conf

echo "----------------------------"

sed 's/MyHostKey/1234/g' aaaa.conf

执行上面的这个脚本,结果如下:第一个没有执行成功,为什么啊?大神们给看看吧!

bash-4.2# ./test.sh

{

   "frequency":"60",

   "service_name":"OS",

   "Qualifier":"",

   "HostKey":"MyHostKey",

   "SendProxy":"http://127.0.0.1:26789",

   "mem":"1",

   "cpuBurden":"1",

   "cpuUsage":"1",

   "proces":"1",

   "netItf":"1",

   "tcp":"1"

}----------------------------

{

   "frequency":"60",

   "service_name":"OS",

   "Qualifier":"",

   "HostKey":"1234",

   "SendProxy":"http://127.0.0.1:26789",

   "mem":"1",

   "cpuBurden":"1",

   "cpuUsage":"1",

   "proces":"1",

   "netItf":"1",

   "tcp":"1"

}bash-4.2#

收起
参与8

查看其它 1 个回答liaosnet的回答

liaosnetliaosnet信息分析/架构师gbasedbt.com

sed 's/${old}/${new}/g' aaaa.conf
-->
sed "s/${old}/${new}/g" aaaa.conf

原因是单引号屏蔽了变量解析~

IT咨询服务 · 2016-04-18
浏览2335

回答者

liaosnet
信息分析/架构师gbasedbt.com

liaosnet 最近回答过的问题

回答状态

  • 发布时间:2016-04-18
  • 关注会员:3 人
  • 回答浏览:2335
  • X社区推广