到目前为止,我已经有了这个。有没有更有效的方法?
if ls -1 $HOME/path/to/folder/* >/dev/null 2>&1
then
echo Directory is not empty.
else
echo Directory is empty.
fi
Run Code Online (Sandbox Code Playgroud)
这是所有关于 shell 的书籍/博客/手册中的标准练习:在 bash 中
[ "$(ls -A /path/to/directory)" ] && echo "Not Empty" || echo "Empty"
Run Code Online (Sandbox Code Playgroud)
Bash 没有对目录为空的标准测试,例如 [ -f file ],因此我们必须编写它。测试 && then 1 || 或 2 是压缩形式的条件语句的标准方法
if condition is satistfied
then do 1
else
do 2
fi
Run Code Online (Sandbox Code Playgroud)