gpt4 book ai didi

linux - 如何检查 rmdir 是否返回 EEXIST 或 ENOTEMPTY?

转载 作者:太空宇宙 更新时间:2023-11-04 09:52:05 25 4
gpt4 key购买 nike

我正在尝试编写一个请求目录的 bash 脚本,然后在确认后删除该目录。我还需要它来告诉用户目录是否为空,并询问他们是否仍要删除它。

我想我会使用 rmdir 并检查返回值以确保目录被删除,如果不是为什么,但到目前为止我不知道什么返回值等同于 EEXIST 或 ENOTEMPTY。到目前为止,我返回的唯一错误值是 1。

如果目录中有文件,返回值应该是多少?

最佳答案

在单独的检查中进行。不完美,但一个开始

if [ ! -e "$DIR" ]
then
echo "ERROR: $DIR does not exist" >&2
elif [ ! -d "$DIR" ]
then
echo "ERROR: $DIR is not a directory" >&2
elif [ ! -r "$DIR" ]
then
echo "ERROR: $DIR cannot be read" >&2
elif [ $(ls -a $DIR | wc -l) -gt 2 ]
then
echo "ERROR: $DIR is not empty" >&2
else
rmdir $DIR
fi

注意:rmdir 仍有可能失败。我想到的一个是您对 $DIR 的父目录没有写权限。

关于linux - 如何检查 rmdir 是否返回 EEXIST 或 ENOTEMPTY?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9823455/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com