初级版本
#!/bin/bash
xml_path="/build/linux/config.xml";
jboss_path="/build/jboss-eap-7.4/standalone";
classes_path=$(find $jboss_path/tmp/vfs/temp/*/content-*/WEB-INF/classes -type d | head -n 1)
echo "目标路径是: $classes_path"
if sed -i '6d' $xml_path; then
echo "删除第6行成功"
else
echo "删除第6行失败"
fi
oldvalue=$(grep -E '<property name=\"class\" value=\"/build/jboss-eap-7.4/standalone/tmp/vfs/temp/.*/content-.*/WEB-INF/classes\"/>' $xml_path)
echo "oldvalue: $oldvalue"
if sed -i "6 i $insert" $xml_path; then
echo "在第6行插入成功"
else
echo "在第6行插入失败"
fi
进阶版本
#!/bin/bash
lineint="4";
xml_path="/build/linux/config.xml";
jboss_path="/build/jboss-eap-7.4/standalone/tmp/vfs/temp";
if [ ! -f "$xml_path" ]; then
echo "请检查$xml_path配置文件是否存在"
exit 1
fi
if [ ! -d "$jboss_path" ]; then
echo "请检查$jboss_path路径是否正确"
exit 1
fi
classes_path=$(find $jboss_path/*/content-*/WEB-INF/classes -type d | head -n 1)
oldvalue=$(grep -E '<property name=\"class\" value=\"/build/jboss-eap-7.4/standalone/tmp/vfs/temp/.*/content-.*/WEB-INF/classes\"/>' $xml_path)
insert="<property name=\"class\" value=\"$classes_path\"/>";
if [ "$oldvalue" == "$insert" ]; then
echo "已经是最新classes_path: $classes_path"
else
if sed -i $lineint'd' $xml_path; then
echo "删除第$lineint行成功: $oldvalue"
else
echo "删除第$lineint行失败"
fi
if sed -i "$lineint i $insert" $xml_path; then
echo "在第$lineint行插入成功: $insert"
else
echo "在第$lineint行插入失败"
fi
fi