linux判断是不是文件且非空

linux判断是不是文件且非空,第1张

比如当前目录下有个文件名称为abc.txt

如果 要判断abc.txt是不是标准文件可以使用-f参数

if [ -f ./abc.txt ]then

echo "abc.txt is regular file"

fi

要判断是否为空,使用-s参数

if [ -s ./abc.txt ]then

echo "abc.txt is not empty!"

fi

简单的可以这样写

[ -f "./abc.txt" ] &&echo 'filename is file!' || [ -s "./abc.txt" ] &&echo 'filename is not empty!'

另外文件类型除了普通文件还有很多

-L 文件是一个符号链接

-b 文件是一个块设备

-c 文件是一个字符设备

-p 文件是一个管道

-S 文件是一个socket

-t 文件与一个终端相关联

我是用脚本实现的

如果同时也要检查隐藏文件 ls -l -A 即可,num后面是引用执行符

read -p "输入要检查目录的完整路径" addr

num=  `ls $addr | wc -l`  %> /dev/null

if [ $num = 0 ]

then echo "目录为空"

else  echo "目录不为空"

fi

下面的程序在solaris8、gcc编译通过的,如果一个目录是空的,输出为2。

QUOTE: #include #include #include int main(int argc , char **argv){DIR *dirpint num=0dirp = opendir(argv[1])

while (dirp) {

if ( readdir(dirp) != NULL)++numelsebreak}closedir(dirp)

printf("%d\n",num)

}shell中判断目录为空


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8337955.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-15
下一篇 2023-04-15

发表评论

登录后才能评论

评论列表(0条)

保存