我将macOS与rm
GNU coreutils中的工具一起使用(不是macOS自己的工具rm
)。
所以我有一个脚本,我在其中清理了一些目录,如下所示:
if [ -d "${cleanup_repo_clone_root}" ]; then
echo "Cleaning up tmp directory: ${cleanup_repo_clone_root}"
set -x; rm -rf -- "${cleanup_repo_clone_root}"
fi
我set -x
在那里扔了一个东西,看看发生了什么事。
它显示了我的输出:
+ set -x
+ rm -rf -- /var/folders/h7/n46zg3md4l57vzsgxcs355/T/tmp.eizQw1iNBQ
rm: cannot remove '/var/folders/h7/n46zg3md4l57vzsgxcs355/T/tmp.eizQw1iNBQ': Directory not empty
但是,如果我复制粘贴该rm命令并执行它,就可以正常工作!
$ rm -rf -- /var/folders/h7/n46zg3md4l57vzsgxcs355/T/tmp.eizQw1iNBQ
这是怎么回事
原来,open $dir
我正在做一个较早的调用,它是启动要在macOS Finder(文件浏览器桌面应用程序)上删除的目录的子目录之一。
Directory not empty
如果某个进程将要删除的目录中的文件/目录之一锁定,则macOS似乎给出了这种隐秘(ENOEMPTY)错误。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句