从以下结果可以看出,*.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 扩展。