【发布时间】:2009-09-02 20:06:58
【问题描述】:
我正在将 bash 脚本移植到符合 SUS/POSIX 的 shell。我自己能够删除大部分 bashism,但我目前坚持使用最后一个。
该脚本用于根据 cron.d 目录中的文件生成 crontab,它使用 '-nt' 测试检查自上次生成 crontab 以来是否有任何输入文件发生变化。
谁能建议一个很好的、符合 SUS 的替换“-nt”检查,只使用该规范中提到的 shell 实用程序?
【问题讨论】:
我正在将 bash 脚本移植到符合 SUS/POSIX 的 shell。我自己能够删除大部分 bashism,但我目前坚持使用最后一个。
该脚本用于根据 cron.d 目录中的文件生成 crontab,它使用 '-nt' 测试检查自上次生成 crontab 以来是否有任何输入文件发生变化。
谁能建议一个很好的、符合 SUS 的替换“-nt”检查,只使用该规范中提到的 shell 实用程序?
【问题讨论】:
实际上,这可能比您当前的解决方案更容易:
if find $DIRECTORY_OF_INPUT_FILES -type f -newer $CRONTAB_FILE | grep -q .; then
$REGENERATE_COMMAND
fi
也就是说,您不需要遍历所有输入文件 - find 会为您完成。
【讨论】: