2015-06-16 210 views
0

我想檢查.todo.txt是否爲空。 如果爲空,我想在文件中添加回顯,如果它已經有內容,我想做其他事情。Shell腳本文件,檢查文本文件是否爲空

我想:

hasData() 
{ 
    echo "Hello" 
} 

isEmpty() 
{ 
    echo -e "$n\t$comment\t$dueD/$dueM/$dueY " >> .todo.txt 
} 

if [ -s $file ] ; then 
    hasData() 
else 
    isEmpty() 
fi 

當我運行上面的代碼,我得到如下:

./todo.sh: line 25: syntax error near unexpected token `else' 
./todo.sh: line 25: ` else' 

回答

3

當我運行我的代碼我得到以下./todo.sh:行25:語法錯誤附近意外的令牌else'./todo.sh:第25行:else'

您必須使用小括號t 定義了一個shell函數,但他們沒有任何一個參與調用。一個shell函數被調用,就像任何其他的命令:

if [ -s $file ] ; then 
    hasData 
else 
    isEmpty 
fi 

如果你的函數的參數了,那麼你會在函數名後一一列舉了 - 再次,就像任何其他的命令。

+0

謝謝你,你最好 – Hazo