ls:无法访问 /directory/path/*.rar:没有此文件或目录

ls:无法访问 /directory/path/*.rar:没有此文件或目录

从以下结果可以看出,*.rar 是按字面意思理解的,而不是扩展的。man glob 没有提供关于它如何扩展的详细信息。有人能解释一下原因吗?

~/电影 $ls “活死人之夜 (1968)/”  
Night_of_the_Living_Dead_1968.par2 Night_of_the_Living_Dead_1968.part23.rar.1  
活死人之夜_1968.part01.rar 活死人之夜_1968.part24.rar  
...

~/Films $ls “活死人之夜 (1968)/*.rar”  
ls:无法访问《活死人之夜》(1968)/*.rar:没有此文件或目录  
~/Films $ls "$(pwd)/活死人之夜 (1968)/*.rar"  
ls:无法访问 /home/g/Films/Night of the Living Dead (1968)/*.rar:没有此文件或目录  
~/Films $ls“活死人之夜 (1968)/*rar”  
ls:无法访问《活死人之夜》(1968)/*rar:没有此文件或目录  

答案1

单引号内的A*会按字面意思处理。因此,您只需将包含空格的目录名称放在引号中:

ls "Night of the Living Dead (1968)"/*.rar  

双引号里面的A*被 shell 扩展。

相关内容