[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 Martes, 17 de Enero de 2006 14:27, Ricardo Frydman Eureka! escribió:
> 
>>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?
> 
> 
> Hola, el problema que tenía me lo solucionaron ayer. 
si si me di cuenta luego,lo que pasa que "el ayer" que mencionas es el
"hoy a la madrugada" para nosotros,momentos en los cuales aprovecho para
dormir un rato...

>Era simplemente que no se 
> me había ocurrido ejecutar los comandos así:
> 
>      #> comando "$variable"
ermmm yo creo que el problema estaba en el "\" que ponias en medio y
luego pasabas al "" , pero a esta altura, ya no interesa ;)


> Las comillas es la clave. Sin las comillas era imposible.

Sin duda.

> Realmente es lo que has hecho tú también en tu respuesta.
> 
> Gracias y saludos.

de nada ta luego

> 
> 
> 
> 
> 
> 
> 


- --
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)

iD8DBQFDzP17kw12RhFuGy4RAll5AJ9gA0F6W/PEOiYslKQD+xtOWHPCkACfZyYi
I/slaE34MekFaMoaDwETUTk=
=ShQy
-----END PGP SIGNATURE-----



Reply to: