我在 rhel5 上并且有以下问题:我有一个函数可以用我想要的文本替换给定行中的所有内容。一切正常,直到我需要放置双引号。以下是代码:
ReplaceLine()
{
txnFile="File.xml"
if [ "$2" == "enable" ];then
replace="<ref bean=\\"$3\\"/>"
else
replace="<!--<ref bean=\\"$3\\"/>-->"
fi
sed -i "$1s/.*/$replace/" $txnFile
}
$1=line number
$2=enable/disable
$3=string to be put
当前代码将文件中的给定行替换为:
<ref bean=beginEventBean/>
我想要的是这个:
<ref bean="beginEventBean"/>
注意缺少的双引号。我也在 sed 中使用了双引号,因为没有它们,变量中的空格会导致 sed 抛出错误。
请帮助我了解我在哪里走错了路。已经花了几个小时。