【发布时间】:2016-05-23 16:18:51
【问题描述】:
我想删除一些包含已安装 (--bind) 子目录的目录。我在名为 .du 的脚本文件中使用以下 for 循环。
for dirname in $1; do
sudo umount $dirname/images/Spielplatz
sudo umount $dirname/sounds/Spielplatz
sudo rm -r $dirname
done
我用
调用脚本文件.du Test*
删除所有以“Test”开头的目录。但它只删除第一个。所以我必须为每个目录调用.du。
我如何编写它,以便一次调用处理所有这些?
【问题讨论】:
-
@WalterA,绝对不是
in $*——如果你的名字中有空格,那会很糟糕。 -
顺便说一句,这里还有其他错误。
rm -r $dirname不会以您想要的方式使用所有可能的名称。将其设为umount "$dirname/images/Spielplatz"和rm -r -- "$dirname"- 带引号 - 以确保可靠性,并考虑通过 shellcheck.net 运行脚本以解决此类问题。