El Lunes, 16 de Enero de 2006 17:32, Xavier Reina escribió: > On Mon, 2006-01-16 at 17:22 +0100, Iñaki wrote: > > --------------------------------------------- > > #!/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??? > > Porqué usas las comillas, prueba sin ellas: > ~$ directorio=Lista\ Debian;echo $directorio > > o con comillas pero sin barra, tal como ya te han dicho: > ~$ directorio="Lista Debian";echo $directorio > > > Gracias por cualquier respuesta. > > Espero que sea eso :)
No, ya había probado con distintas combinaciones. No es eso. La variable debe almacenar el valor: Lista\ Debian para que al hacer el "ls" se ejecute: ls Lista\ Debian que sería lo que ejecutaríamos en consola y funciona. Pero por alguna razón si a "ls" le pasas una variable con \ no funciona. -- y hasta aquí puedo leer...

