-s:在 ubuntu 15.10 中未找到命令

-s:在 ubuntu 15.10 中未找到命令

我想查看文件是否为空,并且我看到命令 -s FILE。问题是,当我尝试使用 -s(在 shell 和脚本中)时,我收到一条错误消息:未找到命令。我在 Linux 论坛上找到了该命令,那么为什么它不可用呢?

答案1

-s本身不是一个命令,而是test命令的一个选项,也可以写成[ condition ]。也许你认为括号是不必要的,但其实不然。 的返回值test取决于里面的条件是真还是假。

来自手册页测试(1):

-s FILE
      FILE 存在且大小大于零

因此您可以使用以下命令:

if [ -s "$file" ]; then
    echo "$file is not empty."
elif [ -e $file ]; do
    echo "$file is empty."
else
    echo "$file does not exist."
fi

或者像这样:

[ -s "$file" ] && echo "$file is not empty." || echo "$file is empty."

相关内容