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