怎么用shell判断目录是否为空

1172
2023/11/11 17:56:44
栏目: 编程语言
开发者测试专用服务器限时活动,0元免费领,库存有限,领完即止! 点击查看>>

可以使用以下命令来判断目录是否为空:

if [ -z "$(ls -A /path/to/directory)" ]; then
    echo "Directory is empty"
else
    echo "Directory is not empty"
fi

解释:

  • ls -A /path/to/directory 会列出指定目录下的所有文件和子目录,但会隐藏掉...目录。
  • $(...) 会将命令的输出结果作为字符串返回。
  • -z 会检查字符串是否为空。

因此,如果目录为空,则ls -A /path/to/directory不会返回任何结果,-z "$(ls -A /path/to/directory)" 的结果就是空字符串,反之,如果目录不为空,则-z "$(ls -A /path/to/directory)" 的结果就不为空字符串。

你可以根据需要将/path/to/directory替换为你想要判断的目录的实际路径。

辰迅云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>

推荐阅读: c++怎么执行shell命令