gpt4 book ai didi

bash - 如何正确检查文件夹层次结构的删除/写入权限?

转载 作者:行者123 更新时间:2023-11-29 09:11:32 24 4
gpt4 key购买 nike

在我正在处理的脚本中,我想rm -rf 文件夹层次结构。但在这样做之前,我想确保该过程能够成功完成。所以,这就是我想出的方法:

#!/bin/bash
set -o nounset
set -o errexit

BASE=$1
# Check if we can delete the target base folder
echo -n "Testing write permissions in $BASE..."
if ! find $BASE \( -exec test -w {} \; -o \( -exec echo {} \; -quit \) \) | xargs -I {} bash -c "if [ -n "{}" ]; then echo Failed\!; echo {} is not writable\!; exit 1; fi"; then
exit 1
fi
echo "Succeeded"

rm -rf $BASE

现在我想知道是否有更好的解决方案(更具可读性、更短、更可靠等)。

请注意,我完全知道在检查和实际删除之间文件访问权限可能会发生变化。在我的用例中,这是可以接受的(与不进行任何检查相比)。如果有办法避免这种情况,我很想知道怎么做。

最佳答案

您是否知道 find-perm 开关(如果它存在于您的版本中)?

find -perm -u+w

关于bash - 如何正确检查文件夹层次结构的删除/写入权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8703110/

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