参考:
https://www.cnblogs.com/share23/p/14075705.html

背景

有一个需求:根据目录是否为空,决定是否将目录下的内容上传到其他目录中。
那如何判断目录下没有内容呢?

实现

在实现需求之前,首先得学习2个命令。

  1. ls -a:–all的缩写,会显示所有的文件和目录,包括隐藏文件(以.开头的文件)以及2个特殊目录:“.” (当前目录) 及 “…” (父目录);
  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
Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐