【发布时间】:2014-04-16 23:08:29
【问题描述】:
好的,所以我正在编写一个 shell 脚本来删除一个目录,但前提是里面没有文件。
我想要做的是有一个 if 语句,它将检查目录中是否有文件,如果有文件,则询问用户是否要先删除文件,然后再删除目录。
我对此进行了相当多的研究,并找到了一种方法来检查目录中是否存在文件,但我无法通过那个阶段。
这是我目前创建的用于检查目录中是否存在文件的 if 语句:
echo "Please type the name of the directory you wish to remove "
read dName
shopt -s nullglob
shopt -s dotglob
directory=$Dname
if [ ${#directory[@]} -gt 0 ];
then
echo "There are files in this directory! ";
else
echo "This directory is ok to delete! "
fi
;;
【问题讨论】:
-
rmdir默认情况下已经这样做了。 -
顺便说一句,对于 shell 脚本,通过
$@和$n变量而不是(或至少补充)键盘交互来接受参数更方便。