我想查看文件是否为空,并且我看到命令 -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."