如何在shell中判断一个文件是否为空

2025-05-04 20:07:19
推荐回答(2个)
回答1:

如何在shell中判断一个文件是否为空抢沙发

在Linux中写脚本的时候,总免不了需要判断文件是否存在、文件内容是否为空等存在,而这些操作都可以用test 指令来实现,通过 man test 指令可以查看关于test指令的手册,手册中有如下说明:
-s FILE
FILE exists and has a size greater than zero
如果文件存在且文件大小大于零,则返回真
-e FILE
FILE exists
如果文件存在,则返回真
在shell中通过test指令测试文件是否为空的示例脚本如下:
#! /bin/sh

if test -s file.txt; then
echo "hi"
else
echo "empty"
fi

在shell中,test指令还有另外一种写法,上面的脚本和下面的脚本是等价的:
#! /bin/sh

if [ -s file.txt ]; then
echo "hi"
else
echo "empty"
fi

两者之间的区别大家自己慢慢观察哈~~

回答2:

参考:
#! /bin/ksh

if [[ -s $FILE ]] ; then
echo "$FILE has data."
else
echo "$FILE is empty."
fi ;