linux - 如何检查文件夹是否为空或文件夹文件是否使用 shell 脚本?

标签 linux shell

<分区>

我有一个问题

我尝试了一些类似的功能

DIR=/path/tmp/

if [ -d "$DIR" ]; then

if [ -f "$DIR" ]; then

但只检查/path/tmp这个路径

我该怎么办?

最佳答案

来自Bash FAQ #4 -- 如何检查目录是否为空?

shopt -s nullglob dotglob
files=(*)
(( ${#files[*]} )) || echo directory is empty
shopt -u nullglob dotglob

这个小脚本用路径扩展 * 中找到的每个文件填充数组 files。然后检查数组的大小,如果为 0,则打印“目录为空”。由于使用了 dotglob,这将适用于隐藏文件。

注意事项

要求解析 ls 的答案通常是一个坏主意和糟糕的形式。要了解原因,请阅读 Why you shouldn't parse the output of ls

关于linux - 如何检查文件夹是否为空或文件夹文件是否使用 shell 脚本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4253698/

相关文章:

linux - 如何在 linux 中通过脚本间接访问文件

linux - 如何从终端读取日期并与当前日期进行比较

shell - Ansible - 当至少一个项目在循环中失败时跳过任务

linux - 尽管交互式 shell 功能正常,但 Bash 功能不适用于远程 ssh 命令执行

windows - 如何获取 IShellItem 的系统图像列表图标索引?

c - 使用c编程在nano linux中进行Ping 6程序

linux - 将 CentOS (RedHat) 5.4 升级到 6

python - Jenkins Python 打印控制台输出

linux - 使用 sed 在 linux 中编辑文本文件

c++ - 在 Fedora 20 中查找简单设备驱动程序的头文件