符合SUS / POSIX shell的'-nt'测试替换

时间:2009-09-02 11:53:45

标签: shell posix

我正在努力将bash脚本移植到符合SUS / POSIX标准的shell。我能够自己删除大部分的bashisms,但我现在仍然坚持使用最后一个。

该脚本用于根据cron.d目录中的文件生成crontab,它使用'-nt'测试来检查自上次生成crontab以来是否有任何输入文件发生了变化。

是否有人可以使用该规范中提到的shell实用程序建议使用SUS兼容的替换'-nt'检查?

1 个答案:

答案 0 :(得分:6)

实际上,这可能比您当前的解决方案更容易:

if find $DIRECTORY_OF_INPUT_FILES -type f -newer $CRONTAB_FILE | grep -q .; then
    $REGENERATE_COMMAND
fi

也就是说,您不需要遍历所有输入文件 - find会为您完成。

相关问题