我有一个 bash 脚本,其中$DIR
的目录名可能包含空格。
这:
rm "$DIR/*.MOV"
给出错误“没有这样的文件或目录”。没有字面上名为“*.MOV”的文件;我希望*
将其扩展为多个参数 - 每个匹配的文件名一个。
例如:
rm some\ folder/foo.MOV some\ folder/bar.MOV
我怎样才能做到这一点?
答案1
引用可以防止通配符。在 GNU bash 中尝试以下操作:
rm "$DIR"/*.MOV
答案2
解决方法:
for FILE in `ls "$DIR" | grep .MOV`; do
rm "$DIR/$FILE"
done