我正在尝试使用一些Bash脚本,我们将不胜感激。
该脚本应该在/ Users /中找到所有用户,并删除里面的所有内容。电影,文档,桌面和音乐。
虽然仍保留目录基本上清空它。还排除了ladmin,shared和Guest的用户文件。
当我执行时。虽然我得到了我期望的反馈,但它并没有清空文件。我在这里错过了一些简单的东西吗?
DIR_CD=/Users/
cd $DIR_CD
find . -type d ! -name "*ladmin*" ! -name "*Guest*" ! -name "*Shared*" \
-maxdepth 1 -print -exec rm -rf {}/Desktop/* \;
find . -type d ! -name "*ladmin*" ! -name "*Guest*" ! -name "*Shared*" \
-maxdepth 1 -print -exec rm -rf {}/Documents/* \;
find . -type d ! -name "*ladmin*" ! -name "*Guest*" ! -name "*Shared*" \
-maxdepth 1 -print -exec rm -rf {}/Movies/* \;
find . -type d ! -name "*ladmin*" ! -name "*Guest*" ! -name "*Shared*" \
-maxdepth 1 -print -exec rm -rf {}/Music/* \;
答案 0 :(得分:0)
喜欢这个吗?
for d in /Users/*; do
case ${d#*/} in ladmin | Guest | Shared ) continue ;; esac
rm -rf "$d"/Desktop/* "$d"/Documents/* "$d"/Movies/* "$d"/Music/*
done
使用Bash extended globbing,您可以使用单个通配符表达式完成所有操作。