Hoi,
Tijdens een installatie proces in een bash-script ik moet 2 dingen doen met 2 XML-bestanden. Is het gebruik van
sed van invloed zijn op geen enkele manier het XML-bestand?
1.Add naar een sectie in <ServerListeners> sectie
<ServerListener>
<BaseClass> Myapp.module.WowConfigurator </ BaseClass>
</ ServerListener>
Het onderstaande code doet het werk, maar dat maakt niet, t-formaat van de XML-bestand door de toevoeging van tabbladen en alles. Is dat ok van een XML-bestand standpunt?
Code:
ISLISTENER=`grep -n "myapp" $WOW_HOME/conf/Server.xml|cut -d":" -f1 |head -1`
if [ ${ISLISTENER} == "" ]
then
INSERTLINE=`grep -n "ServerListeners" $WOW_HOME/conf/Server.xml|cut -d":" -f1 |head -1`
sed -e ''${INSERTLINE}'a\</ServerListener>''' $WOW_HOME/conf/Server.xml > $WOW_HOME/conf/Server.xml_new
mv $WOW_HOME/conf/Server.xml_new $WOW_HOME/conf/Server.xml
sed -e ''${INSERTLINE}'a\<BaseClass>myapp.module.WowConfigurator</BaseClass>''' $WOW_HOME/conf/Server.xml > $WOW_HOME/conf/Server.xml_new
mv $WOW_HOME/conf/Server.xml_new $WOW_HOME/conf/Server.xml
sed -e ''${INSERTLINE}'a\<ServerListener>''' $WOW_HOME/conf/Server.xml > $WOW_HOME/conf/Server.xml_new
mv $WOW_HOME/conf/Server.xml_new $WOW_HOME/conf/Server.xml
fi
2. Met
sed commando ik nodig om de waarde van een eerste voorkomen van een parameter te vervangen:
De xml-bestand bevat:
Code:
<IpAddress>*</IpAddress>
<Port>1935</Port>
En ik moet vervangen met $ BINDADDRESS en $ BINDPORT variabelen. Dat heb ik niet in geslaagd om het uit te zoeken.
Bedankt,
Bianca