2013-07-06 115 views
-2

我試圖做一個腳本/ cronjob刪除一個網站的檔案,如果該數字超過14(即我們保持兩個星期的備份副本在任何給定的時間) 。出於某種原因,我無法使-gt運算符正常工作。首先我得到文件的數量,然後如果文件的數量超過14,就會發生一些情況。這個測試永不過去。Bash腳本-gt操作員不工作

NUMFILES= find $CURRPATH -type f -name "*.zip" -print | wc -l 
echo $NUMFILES 

if [[ $NUMFILES -gt 14 ]] 
then 
    echo 'YES!' 
else 
    echo 'NO!' 
fi 

奇怪的是,如果我用-lt 14而不是-gt 14,第一個條件表達自己。

任何想法,爲什麼這可能發生? $ NUMFILES格式錯了嗎?

+1

該第一行不符合您的想法。嘗試在第一行和第二行之間添加'echo「Hello」'... –

+0

現在,當我輸入該命令時,我得到數字6,這是正確數量的檔案坐在目錄 –

+0

可能的重複[ Bash:計數找到文件夾中的結果](http://stackoverflow.com/questions/4786939/bash-count-find-result-in-folder) – anishsane

回答

4

$NUMFILES永遠不會在您的腳本中設置。

NUMFILES="$(find ...)" 
+0

剛剛嘗試過,現在它拋出另一個錯誤 - 行14:6:命令找不到 –

+0

@NicholasFinch:什麼是第14行? –

+0

@NicholasFinch:這個問題與這個問題無關。 –