【问题标题】:replace String with variable in sed gives error用 sed 中的变量替换字符串会出错
【发布时间】:2014-01-13 09:26:43
【问题描述】:

我有以下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 expression #1, char 40: `s' 的未知选项

【问题讨论】:

    标签: shell sed


    【解决方案1】:

    这里有两个问题:

    • 变量包含空格,使用双引号保护它们
    • 变量包含斜线,换个分隔符试试(如@

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 2015-04-18
      • 1970-01-01
      • 2017-06-29
      • 2023-03-27
      相关资源
      最近更新 更多