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

Mic*_*rny 2 shell posix

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

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

任何人都可以使用该规范中提到的shell实用程序建议一个很好的,SUS兼容的'-nt'检查替换?

Dan*_*tin 6

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

if find $DIRECTORY_OF_INPUT_FILES -type f -newer $CRONTAB_FILE | grep -q .; then
    $REGENERATE_COMMAND
fi
Run Code Online (Sandbox Code Playgroud)

也就是说,您不需要遍历所有输入文件 - find会为您执行此操作.