2009-09-02 73 views
2

我正在將bash腳本移植到SUS/POSIX兼容shell。我能夠自己刪除大部分的bashisms,但我目前仍然堅持最後一個。SUS/POSIX shell兼容替換'-nt'測試

該腳本用於根據cron.d目錄中的文件生成crontab,它使用'-nt'test來檢查自上次生成crontab以來是否有任何輸入文件發生了更改。

任何人都可以使用該規範中提到的只有shell實用程序提出一個很好的,SUS兼容的'-nt'檢查替代嗎?

回答

6

其實,這可能比當前解決方案更加容易:

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

也就是說,你並不需要遍歷所有的輸入文件 - 找到會做給你。