Shell脚本文件,检查文本文件是否为空

时间:2015-06-16 17:31:27

标签: shell text-files

我想检查.todo.txt是否为空。 如果是空的,我想在文件中添加echo,如果它已经有内容,我想做其他的事情。

我试过了:

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'

1 个答案:

答案 0 :(得分:3)

  

当我运行我的代码时,我得到以下内容./todo.sh:line 25:在意外令牌附近的语法错误' ./todo.sh:25行:否则'

您必须使用括号定义 shell函数,但它们不能调用一个。像任何其他命令一样调用shell函数:

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

如果你的函数接受了参数,那么你会在函数名之后列出它们 - 再次,就像任何其他命令一样。