看到「Age comparison in Bash for files and processes」後查了一些資料,如果在不使用外部程式處理的話,的確是多做了不少事情。
這是 Bash 對 -ot
的說明:
file1 -ot file2 True if file1 is older than file2, or if file2 exists and file1 does not.
而這是 test (也就是 [
這隻程式) 對 -ot
的說明:
FILE1 -ot FILE2 FILE1 is older than FILE2
多了檔案是否存在的檢查...
另外可以參考「What's the difference between [ and [[ in Bash?」這邊的說明,Bash 的 [[
是 Bash 特有的加強版,而 [
則是用系統的 test 運算。