De los siguientes resultados parece que * .rar se está tomando literalmente y no se ha expandido. man glob no da detalles sobre cómo se expande. ¿Alguien podría explicar amablemente por qué?
~ / Films $ ls "La noche de los muertos vivientes (1968) /" Night_of_the_Living_Dead_1968.par2 Night_of_the_Living_Dead_1968.part23.rar.1 Night_of_the_Living_Dead_1968.part01.rar Night_of_the_Living_Dead_1968.part24.rar ... ~ / Films $ ls "La noche de los muertos vivientes (1968) / *. Rar" ls: no se puede acceder a Night of the Living Dead (1968) / *. rar: No existe tal archivo o directorio ~ / Films $ ls "$ (pwd) / Night of the Living Dead (1968) / *. Rar" ls: no se puede acceder a / home / g / Films / Night of the Living Dead (1968) / *. rar: No existe tal archivo o directorio ~ / Films $ ls "La noche de los muertos vivientes (1968) / * rar" ls: no se puede acceder a Night of the Living Dead (1968) / * rar: No existe tal archivo o directorio
Respuestas:
Las
*
comillas simples internas se tratan literalmente. Por lo tanto, debe poner solo el nombre del directorio que tiene espacios, entre comillas:Una
*
comilla doble interna se expande por el shell.fuente
ls Night[TAB]/*.rar
; deje que el shell complete el nombre del directorio en lugar de escribirlo. La finalización de la pestaña del shell insertará barras invertidas según sea necesario para escapar de cualquier carácter especial.