我正在尝试在bash构建脚本中进行简单检查,以检查构建的文件XML是否比目录中的组件xml文件更新。
所以基本上我有一个包含10个XML文件的src /目录和一个从这些文件构建的final.xml。
检查final.xml的修改时间以确保它比src /中的文件更旧的简单方法。
与ANT类似的东西
<uptodate property="xml.build.notRequired" targetfile="${final.xml}">
<srcfiles dir="${src.dir}" includes="**/*.xml" />
</uptodate>
或Make文件的基本功能(但我宁愿在脚本中执行此操作,而不是将Make / ANT作为依赖项添加)。
答案 0 :(得分:5)
find src -type f | while read filename; do
if [ "$filename" -nt "final.xml" ]; then
echo "Oh noes, final.xml is out of date..."
fi
done
答案 1 :(得分:0)
find src -newer src/final.xml -print
将打印所有“newer”作为final.xml的文件
或
n=$(find src -newer src/final.xml | grep -c '.') && echo Here is $n newer files
只有当这里有任何新文件时,才会echo
,否则回复将不会被执行