Linux:如果沒有找到與我使用的模式相符的文件,如何從 find 指令中取得不同的退出程式碼?

Linux:如果沒有找到與我使用的模式相符的文件,如何從 find 指令中取得不同的退出程式碼?

我有一個運行下一個命令的腳本:

find /storage2/hpfiles_staging/ -name \*.gz -mmin +600

然後rsync將文件發送到遠端位置。

有時,該find命令不會傳回任何輸出(因為該位置中沒有名為 *.gz、時間為 10 分鐘或更長的檔案)。當發生這種情況時,我想向日誌寫入一條訊息,說明那裡沒有文件。

但是當我運行該find命令時,無論它是否找到要傳輸的文件,該命令的退出代碼find始終為“0”(當然,除非存在語法錯誤),因此無法指示我是否在該位置找到了文件。

如果命令未找到文件,是否有任何開關或技巧可以獲得與 0 不同的退出代碼find

先致謝

答案1

我不認為你可以影響 find 的退出代碼。您也許應該捕獲 find 的輸出並使用它來確定是否找到了任何檔案。

相關內容