[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Parametros con espacios en blanco para un script



-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Iñaki wrote:
> 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.

no comprendo Iñaki porque te lias tanto:
ricardo@kebek:~ $ mkdir "Lista Debian"
ricardo@kebek:~ $ export dir="Lista Debian"
ricardo@kebek:~ $ touch "$dir"/aaa.txt
ricardo@kebek:~ $ ls "$dir"
aaa.txt
ricardo@kebek:~ $ ricardo@kebek:~ $ cat > script.sh << "EOF"
> export dir="Lista Debian"
> ls "$dir"
> EOF
ricardo@kebek:~ $ chmod +x script.sh
ricardo@kebek:~ $ ./script.sh
aaa.txt

Eso quieres?
- --
Ricardo A.Frydman
Consultor en Tecnología Open Source - Administrador de Sistemas
jabber: ricardoeureka@gmail.com - http://www.eureka-linux.com.ar
SIP # 1-747-667-9534
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.1 (GNU/Linux)

iD8DBQFDzPCwkw12RhFuGy4RApLnAJ4oqf71GOrBjLm4BYWuOAe+iQ/usQCeOPV5
/37VNUYVcbon2OmybhMnCZs=
=Djbu
-----END PGP SIGNATURE-----



Reply to: