我需要为给定的目录列表找到空目录.有些目录里面有目录.
如果内部目录也是空的,我可以说主目录是空的,否则它不是空的.
我该怎么测试呢?
例如:
A>A1(file1),A2 this is not empty beacuse of file1
B>B1(no file) this is empty
C>C1,C2 this is empty
Run Code Online (Sandbox Code Playgroud) 我正在尝试创建一个删除.waste目录中所有内容的Bash脚本.我有一个我写的基本脚本,但我希望它首先检查.waste目录是否包含内容,如果是,则回显一条简单的"Folder already empty!"消息.我不太精明if和if else陈述,我不知道[ ]等式需要检查存在.
基本代码:
#! /bin/bash
echo "The files have been deleted:"
cd /home/user/bin/.waste/
ls
rm -rf /home/user/bin/.waste/*
Run Code Online (Sandbox Code Playgroud)
(PS不确定星号是否在最后是正确的,我确实尝试了它的脚本,我记得它也删除了bin目录中的所有内容)
我有个问题
我尝试了一些功能
DIR = /路径/ TMP /
if [-d"$ DIR"]; 然后
和
if [-f"$ DIR"]; 然后
但只检查/ path/tmp这条路径
我能怎么做?
如何使用bash?测试目录中文件的存在?
if ... ; then
echo 'Found some!'
fi
Run Code Online (Sandbox Code Playgroud)
要清楚,我不想测试特定文件的存在.我想测试一个特定的目录是否包含任何文件.
我去了:
(
shopt -s dotglob nullglob
existing_files=( ./* )
if [[ ${#existing_files[@]} -gt 0 ]] ; then
some_command "${existing_files[@]}"
fi
)
Run Code Online (Sandbox Code Playgroud)
使用该数组可以避免竞争条件两次读取文件列表.
可能的重复:
检查目录是否包含文件
我想看看目录是否为空,所以我使用[如下:
[ -f "./ini/*"]
Run Code Online (Sandbox Code Playgroud)
即使目录不为空,返回值也始终为 1。任何想法有什么问题吗?
我有以下bash脚本:
if ls /Users/david/Desktop/empty > /dev/null
then
echo 'yes -- files'
else
echo 'no -- files'
fi
Run Code Online (Sandbox Code Playgroud)
如果/Users/david/Desktop/emptydir中有一个或多个文件,我如何修改顶行以使其评估为true ?
我有一个目录.它是空的.如果我执行ls -lrt,则显示总计0
仅当目录为空时,如何指定If条件才能执行某些操作.
我的意思是问如何捕获0值.
我正在尝试在 unix shell 脚本中编写一个 if 语句,如果它为空则返回 true,否则返回 false。
这种东西...
if directory foo is empty then
echo empty
else
echo not empty
fi
Run Code Online (Sandbox Code Playgroud)
我该怎么做呢?有人告诉我 find 是一个很好的起点