在sed中用变量替换String会给出错误

时间:2013-12-25 12:17:28

标签: shell sed

我有以下shell脚本来替换文件

中的字符串

Port=7070

IP=1.1.1.1

NewBoshURL="var BOSH_URL = \"http://$IP:$Port/http-bind/\";"

sed -i 's/var BOSH_URL.*/'$NewBoshURL'/' index.html

它给我下面的错误

  

sed:-e表达式#1,char 40:`s'

的未知选项

1 个答案:

答案 0 :(得分:1)

这里有两个问题:

  • 变量包含空格,使用双引号来保护它们
  • 变量包含斜杠,尝试另一个分隔符(例如@

    sed -i "s@var BOSH_URL.*@$NewBoshURL@" index.html