Bash脚本文件修改依赖检查

发布于 2024-11-16 05:50:09 字数 452 浏览 0 评论 0原文

我正在尝试在 bash 构建脚本中进行简单的检查,以检查构建的文件 XML 是否比目录中的组件 xml 文件新。

所以基本上我有一个 src/ 目录,其中包含 10 个 XML 文件和一个从这些文件构建的 Final.xml。

检查 Final.xml 的修改时间以确保它比 src/ 中的文件更旧的简单方法是什么。

类似于 ANT 的东西

    <uptodate property="xml.build.notRequired" targetfile="${final.xml}">
        <srcfiles dir="${src.dir}" includes="**/*.xml" />
    </uptodate>

或 Make 文件的基本功能(但我宁愿只在脚本中执行它,而不是添加 Make/ANT 作为依赖项)。

I'm trying to do a simple check in a bash build script to check if the built file XML is newer than the component xml files in a directory.

So basically I have a src/ directory with 10 XML files and a final.xml that is built from those files.

What would be a simple way to check the modification time of the final.xml to ensure it is older than the files in src/.

Something similiar to ANT's

    <uptodate property="xml.build.notRequired" targetfile="${final.xml}">
        <srcfiles dir="${src.dir}" includes="**/*.xml" />
    </uptodate>

Or the basic functionality of a Make file (but I'd rather just do it in the script than add Make/ANT as a dependency).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

原谅我要高飞 2024-11-23 05:50:09
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
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
携余温的黄昏 2024-11-23 05:50:09
find src -newer src/final.xml -print

将打印所有“较新”的文件作为 Final.xml

n=$(find src -newer src/final.xml | grep -c '.') && echo Here is $n newer files

仅当此处有任何较新的文件时才会执行 echo ,否则 echo 将不会执行

find src -newer src/final.xml -print

will print all files what are "newer" as final.xml

or

n=$(find src -newer src/final.xml | grep -c '.') && echo Here is $n newer files

will do echo only when here is ANY newer file, otherwise the echo will be not executed

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文