我通常會下載大量的圖像,並經常使用cleanup.sh文件進行清理,該文件只包含rm -rf *
命令。是否可以計算文件執行的次數?
我的查詢是,我想知道做了多少次。就像說,在另一個文件中,我想追加文件已被執行的信息。 他們有什麼辦法嗎?
我通常會下載大量的圖像,並經常使用cleanup.sh文件進行清理,該文件只包含rm -rf *
命令。是否可以計算文件執行的次數?
我的查詢是,我想知道做了多少次。就像說,在另一個文件中,我想追加文件已被執行的信息。 他們有什麼辦法嗎?
echo $(($(cat other.file)+1)) > other.file;
$(cat other.file)
一個讀取other.file
$((...+1))
增加它的內容算上線。echo ... > other.file
寫入結果返回給other.file
當然,這需要你與內容0
創建初始other.file
。
在你的cleanup.sh中,你可以做rm -rf * && date >> cleanup.runs.log
。這樣,無論何時運行它,日期/時間都會寫入日誌文件,您可以使用它來計算腳本執行的次數和時間。
這可能工作:
echo "Script was executed" >> logFile
然後你可以使用wc -l
或者爲了同樣的目的使用[logger(1)](http://man7.org/linux/man-pages/man1/logger.1.html) –
不錯。然而,他需要grep系統日誌,可能不止一次自舍入,舊值將被eventuall刪除。 –
如果您將輸出重定向到同一個文件,則不能安全地從other.file中讀取數據。看到這個問題:http://stackoverflow.com/questions/6696842/bash-redirect-input-from-file-back-into-same-file/6697219#6697219 – Lynch
在這種情況下,這是可以的,因爲命令替換是在輸入重定向之前評估。問題出現在'cat foo.txt> foo.txt' – chepner
@Lynch這種問題只發生在閱讀結束前寫入開始時。 'cat'不是這種情況。 – Siguza