Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用shell脚本从xml中删除标记_Xml_Shell_Tags_Weblogic_Autodeploy - Fatal编程技术网

如何使用shell脚本从xml中删除标记

如何使用shell脚本从xml中删除标记,xml,shell,tags,weblogic,autodeploy,Xml,Shell,Tags,Weblogic,Autodeploy,我正在使用一个干净的脚本清除weblogic中自动部署的组件。此脚本删除所有war文件并重新启动weblogic域{此脚本只需执行rm-rf*自动部署,然后使用其他脚本重新启动域启动和停止weblogic脚本}。此脚本运行良好, 但有时,我在删除部署时遇到问题。它会从autodeploy文件夹中删除所有组件,但config.xml仍会为所有组件添加“app tag”。我不知道为什么会出现这种情况。但随后我必须手动从config.xml中删除这些app tag。 这个干净的脚本循环说“compon

我正在使用一个干净的脚本清除weblogic中自动部署的组件。此脚本删除所有war文件并重新启动weblogic域{此脚本只需执行rm-rf*自动部署,然后使用其他脚本重新启动域启动和停止weblogic脚本}。此脚本运行良好, 但有时,我在删除部署时遇到问题。它会从autodeploy文件夹中删除所有组件,但config.xml仍会为所有组件添加“app tag”。我不知道为什么会出现这种情况。但随后我必须手动从config.xml中删除这些app tag。 这个干净的脚本循环说“componets getremoved”。然后我必须手动从config.xml中删除应用程序标记 要避免此手动操作,请执行以下操作: 我需要你们的帮助,有没有可能使用SHELL脚本从xml中删除这些标记?? 我想从我的干净脚本中调用此脚本。 请引导我


附言:现在无法发布我的干净脚本,但以后需要时可以发布。虽然它只是一个使用rm rf和start的小脚本,但如果只是删除
,请停止脚本。
块,您可以使用sed:

cp -vi config.xml config.xml-ori
cat config.xml-ori | sed -e '/<app-tag>/, /<\/app-tag>/ d ' > config.xml
cp-vi config.xml config.xml-ori
cat config.xml-ori | sed-e'//,//d'>config.xml

从域中删除WAR文件的一个更好的选择是使用WLST脚本。您现在这样做很容易出错。请参阅:事实上,我正在使用Jenkins,并安排了一项作业,其中this clean.sh首先清理应用程序部署,然后将部署移动到autodeploy。但是,不知何故,this clean.sh不起作用d进入循环,因此作业无法完成。要结束此循环,我们必须手动从config.xml中删除,如果手动删除,则使用jenkins毫无意义。这就是为什么我希望soem脚本以更高效、更好的方式删除这些自动部署的应用程序。谢谢Kuronue,我想先跳过删除,因为这1个应用程序将是相同的。您能否提供一些其他有效的方法来删除自动部署的组件以避免手动操作。然后您应该完全避免使用
autodeploy
文件夹。最好使用
WLST
weblogic.Deployer
。它们适用于此类情况。顺便说一句,您不需要重新启动服务器进行部署--s如果必须的话,有些事情是错误的。这是查看那些
WLST
weblogic.Deployer
的更多理由。