El Lunes, 16 de Enero de 2006 18:06, David Pradas escribió: > El ls lo debes hacer con comillas dobles para que te interprete el > contenido de la variable $directorio como una cadena: > > directorio='Lista Debian' > ls "$directorio"
¡Sí, señor, eso es! Y perdona, veo que ya me habías dado antes esta solución, pero no la miré bien, pensé que ya la había probado pero no m había fijado en las comillas de "$directorio". ¡ Muchas gracias ! > Iñaki <[EMAIL PROTECTED]> escribió: El Lunes, 16 de Enero de 2006 17:22, Iñaki escribió: > > Tengo un directorio con un espacio en blanco: "Lista Debian". > > > > Me gustaría saber cómo le puedo pasar ese directorio como parámetro a un > > script de Bash para que opere con él. El problema de hecho es hacer que > > un comando reconozca los espacios en blanco dentro de una variable. > > > > El script es este (es sólo para solucionar este problema): > > > > --------------------------------------------- > > #!/bin/bash > > > > #### Así sale mal: > > directorio="Lista\ Debian" > > echo "Con la variable $directorio:" > > ls $directorio > > > > #### Así sale bien: > > echo > > echo "Directamente:" > > ls Lista\ Debian > > ---------------------------------------------- > > > > La salida de ese script es ésta: > > > > ---------------------------------------------- > > #> ./script > > > > Con la variable Lista\ Debian: > > ls: Lista\: No existe el fichero o el directorio > > ls: Debian: No existe el fichero o el directorio > > > > Directamente: > > file1 file2 file3 > > ---------------------------------------------- > > > > > > He probado también poniendo: > > directorio="Lista\\ Debian" > > y ocurre lo mismo. > > > > > > El error está localizado: si una variable tiene \ para indicar un espacio > > en un nombre de archivo entonces un comando que la emplee no lo hace > > correctamente. ¿¿¿POR QUE??? > > > > > > Gracias por cualquier respuesta. > > Hola, se me ha ocurrido una forma más fácil de que se vea el problema. > Olvidaros del script: > > - Creamos un directorio con un espacio en medio: > mkdir Lista\ Debian > > - Creamos archivos dentro: > touch Lista\ Debian/file1 > touch Lista\ Debian/file2 > > - Ejecutamos esto y vemos que funciona: > ls Lista\ Debian > file1 file2 (funciona) > > - Lo probamos con variable "directorio": > directorio="Lista Debian" > ls $directorio > ls: Lista: No existe el fichero o el directorio > ls: Debian: No existe el fichero o el directorio > > - Probamos con otras combinaciones: > directorio=Lista Debian > directorio=Lista\ Debian > directorio=Lista\\ Debian > directorio='Lista Debian' > directorio='Lista\ Debian' > > Pero con ninguna funciona. ¿Alguna idea? > > > PD: He probado todas las imaginables, si a alguien se le ocurre alguna > forma le pido por favor que antes lo compruebe siguiendo los pasos > anteriores. > > > Gracias a todos y un saludo. -- y hasta aquí puedo leer...

