参考:
https://www.cnblogs.com/share23/p/14075705.html
背景
有一个需求:根据目录是否为空,决定是否将目录下的内容上传到其他目录中。
那如何判断目录下没有内容呢?
实现
在实现需求之前,首先得学习2个命令。
- ls -a:–all的缩写,会显示所有的文件和目录,包括隐藏文件(以.开头的文件)以及2个特殊目录:“.” (当前目录) 及 “…” (父目录);
- ls -A:–almost-all的缩写,会显示所有的文件和大部分目录,包括隐藏文件,但不包括不2个特殊目录:“.” (当前目录) 及 “…” (父目录);
总的来说,ls -a与ls -A的区别就在于,是否展示2个特殊目录:“.” (当前目录) 及 “…” (父目录)。
有了前面的铺垫,那么判断一个目录是否为空目录就可以是:
#!/bin/bash
dir=/home/work/test
res=`ls -A $dir`
if [ -z $res ];then
echo "$dir 为空目录.................."
else
echo "$dir 不为空...................."
fi