我试图删除带有.class
扩展名的文件夹中的所有文件,因此我编写了一个小型 shell 脚本。有人能告诉我为什么它不起作用并为我的问题提供解决方案吗?
剧本:
#!/bin/bash
ls | grep .class
for i in $*
do
rm $i
done
答案1
首先,要删除所有带有.class
扩展名的文件,您只需要:
rm *.class
无论如何,作为一般规则,您真的不应该尝试解析的输出ls
。它会失败适用于几乎任何奇怪的文件名。
供将来参考,要迭代命令的结果,请使用循环while
。例如:
command | while read i; do rm "$i"; done