Article View: es.comp.os.linux.programacion
Article #5893Bash: elementos de una colección.
From: J. P.
Date: Sun, 31 Aug 2003 01:01
Date: Sun, 31 Aug 2003 01:01
64 lines
2626 bytes
2626 bytes
Hola a todos,
Llamemos al siguiente gui�n �prueba�,
#v+
#!/bin/bash
objetivos()
{
for I in "${@}"
do
echo "${I}"
done
}
COLECCION=($(objetivos "${@}"))
echo "Tama�o de la colecci�n: ${#COLECCION[@]}"
echo "---"
echo "Elemento 1: ${COLECCION[0]}"
echo "Elemento 2: ${COLECCION[1]}"
echo "---"
#v-
Si se ejecuta desde la l�nea de �rdenes (LIO) con argumentos
�normales� todo funciona correctamente. Un ejemplo:
$ ./prueba arg1 arg2
Tama�o de la colecci�n: 2
---
Elemento 1: arg1
Elemento 2: arg2
---
El problema tiene lugar cuando se lo ejecuta con argumentos que
contienen caracteres especiales salvaguardados (o protegidos con
comillas) como pueden ser los espacios. Un ejemplo:
$ ./prueba arg\ 3
Tama�o de la colecci�n: 2
---
Elemento 1: arg
Elemento 2: 3
---
Me gustar�a que funcionara como lo hizo en el primer ejemplo:
�arg\ 3� deber�a ser considerado como un �nico argumento y como tal
la colecci�n deber�a contener un solo elemento.
Le pregunta es: �es posible asignar elementos de un modo seguro a
una colecci�n usando este m�todo?. He de decir que es posible crear una
coleci�n con los arg�mentos �ntegros si se a�aden directamente dentro de
la funci�n �objetivos()�[1], pero estoy interesado en saber si es posible
hacerlo de la forma propuesta.
Muchas gracias por vuestra atenci�n.
[1] objetivos()
{
for I in "${@}"
do
COLECCION=("${COLECCION[@]}" "${I}")
done
}
Technical Details
Message-ID:
<birhdv$c8okj$1@ID-130393.news.uni-berlin.de>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!fu-berlin.de!uni-berlin.de!pd9e651d2.dip.t-dialin.NET!not-for-mailShow Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,fb6dad6ad0f7d3c4,start X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-08-30 18:01:53 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!newsfeed.icl.net!newsfeed.fjserv.net!newsfeed.freenet.de!fu-berlin.de!uni-berlin.de!pd9e651d2.dip.t-dialin.NET!not-for-mail From: "J. P." <not_my@mail.com> Newsgroups: es.comp.os.linux.programacion Subject: Bash: elementos de una colección. Date: 31 Aug 2003 01:01:51 GMT Lines: 64 Message-ID: <birhdv$c8okj$1@ID-130393.news.uni-berlin.de> NNTP-Posting-Host: pd9e651d2.dip.t-dialin.net (217.230.81.210) Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de 1062291711 12870291 217.230.81.210 (16 [130393]) User-Agent: slrn/0.9.7.4 (Linux)