2013-10-10 47 views
0

我正在編寫一個shell腳本,需要包含一些驗證。我的驗證是檢查備份文件夾是否存在,其中存在正確數量的文件。Unix驗證檢查文件數

例如,如果備份成功運行,那麼備份文件夾中會有23個文件,我們可以繼續。我的腳本存在一些問題 - 任何人都可以看到我的腳本無法使用?

if [ 'ls -1 | wc -l' == 23 ] 
then 
    echo -e "\n Matching! \n" 
else 
    echo -e "\n Something has gone wrong!\n" 
fi 
+0

我需要使用'-eq'命令..? –

+0

我可以修改它作爲退出編號返回行數嗎? –

回答

2

在你的病情,你使用單引號('),你其實是要使用反引號。您可以使用它優於反引號的$(..)

if [ $(ls -1 | wc -l) == 23 ] 

參見:

What's the difference between $(command) and backticks

+0

你提到反引號,但從來沒有顯示字符'\'' –

+0

魔術 - 這工作的一種享受感謝您的迅速答覆! –

+0

謝謝你的額外鏈接 - 非常感謝! –