通过sed更新参数问题

Updating paramenter issue via sed

在我的 bash 脚本中。我有如下

 HOST_IP=`hostname -I`

 sed -i -e "/dirParam\.dprop_web_service_host=/ s/=.*/=http://$HOST_IP:9001/datasources/$INSTANCE" -e "s/\r$//" $SCB_ORDM/dir.properties

之前: directorParam.dprop_web_service_host=http://localhost:9001

同时执行上面的脚本。我收到错误消息

sed: -e expression #1, char 50: unknown option to `s'

我期待: directorParam.dprop_web_service_host=http://10.10.405.30:9001

s(替代命令)后的下一个字符是/,所以它是定界符,必须在模式中转义并替换字符串

 sed -i -e "/dirParam\.dprop_web_service_host=/ s/=.*/=http:\/\/$HOST_IP:9001\/datasources\/$INSTANCE/" -e "s/\r$//" $SCB_ORDM/dir.properties

否则可以使用另一个分隔符

 sed -i -e "/dirParam\.dprop_web_service_host=/ s@=.*@=http://$HOST_IP:9001/datasources/$INSTANCE@" -e "s/\r$//" $SCB_ORDM/dir.properties