在脚本中强制扩展变量的最简单方法是什么:
#!/bin/some
path=/nobackup/
sed -i "39s/.*/$path/" cluster.sh
或者什么是最容易扩展变量而没有问题的shell脚本语言? 是否有任何力量扩展选项?
答案 0 :(得分:1)
变量被扩展;问题是该值包含 <web-resource-collection>
<web-resource-name>Allowed resources</web-resource-name>
<url-pattern>/javax.faces.resource/*</url-pattern>
<url-pattern>/login.xhtml</url-pattern>
<url-pattern>/login</url-pattern>
</web-resource-collection>
视为语法的字符。 sed
看到命令
sed
尝试动态构建39s/.*//backup//
命令时的一个解决方案是提前知道变量将包含哪些字符,并在sed
命令中使用不同的分隔符。
sed
另一种解决方案是,如果你可以控制sed -i "39s|.*|$path|" cluster.sh
的值,就是预先解决问题字符。
$path