![ls:无法访问 /directory/path/*.rar:没有此文件或目录](https://linux22.com/image/1295100/ls%EF%BC%9A%E6%97%A0%E6%B3%95%E8%AE%BF%E9%97%AE%20%2Fdirectory%2Fpath%2F*.rar%EF%BC%9A%E6%B2%A1%E6%9C%89%E6%AD%A4%E6%96%87%E4%BB%B6%E6%88%96%E7%9B%AE%E5%BD%95.png)
从以下结果可以看出,*.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 扩展。