🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: es.comp.os.linux.programacion
Article #6864

Re: Script en Bash con Geomtery (ImageMagick)

#6864
From: zd
Date: Tue, 29 Apr 2003 20:39
55 lines
3284 bytes
Respuesta al mensaje de: J.A. Gutierrez <spd@daphne.cps.unizar.es>.
Con identificador: <b8mbe3$aed$1@localhost.escomposlinux.org>.

>>> 1 #!/bin/sh
>>> 2 for f in $* ;do
>>> 3  convert -geometry 80x80 $file t_$file
>>> 4  #echo "<a href=\"$f\"><img src=\"t_$f\" width=\"80\" height=\"80\"></a>"
>>> 4 done
>>>   # end of script

>>     En la 2� l�nea, el '$*' deber�a estar entrecomillado para prevenir
>> la existencia de espacios o tabuladores en los nombres de los archivos.
>> Es decir: '"$*"'.

> 	Error.
> 	el uso de "$*" como argumento al fork no evita problemas
> 	si los argumentos contienen espacios.

> 	La forma mas correcta y robusta seria: "$@". Incluso recuerdo
> 	haber leido que ${1+"$@"} es mas robusto aun (para el caso de
> 	que no haya argumentos).

    Pues s�, error, y s�, en este caso la forma correcta es "$@".
Entrecomilladas, la primera forma, "$*", devuelve los par�metros
como una sola palabra, y la segunda, "$@", los devuelve tal cual y
entrecomillados para evitar problemas con los espacios. Fue un despiste.

    La tercera forma, s�lo por dar guerra, no ser�a adecuada. Obligar�a
a que el bucle "for" se ejecutara sobre un par�metro vac�o, por lo que
si en el cuerpo del bucle hay alguna referencia a la variable, como es
este caso, se pueden producir errores o resultados inesperados; en este
ejemplo, "mv" se quejar�a de falta de argumentos.

>> asignas los nombres de los par�metros a la variable 'f'. En esta l�nea
>> tambi�n, 't_$file' deber�a ser '"t_${f}", entre llaves para permitir la
>> expansi�n de par�metos, para que ese 't_' se acople.

> 	en realidad, no es necesario. Por lo general las llaves solo
> 	son necesarias en caso de que pueda haber ambig:uedades

    Es cierto, s�lo ser�an estrictamente necesarias si hubiera texto
inmediatamnete despu�s del nombre de la variable o si se invocara un
par�metro de posici�n por enmcima de nueve, pero son obligatorias para
realizar el resto de expansiones, como la que mostrabas m�s arriba, es
por eso que a m� me gusta recomendar usarlas siempre :).

    Cordialmente,

    Zeles.


-- 
Zeles Derel (zeldere) / [.zd]
 * Direcci�n: zeldere_nntp@yahoo.es
 * GNU/Linux - LFS 3.1
Technical Details
Message-ID: <b8mnuf$bord0$1@ID-130393.news.dfncis.de>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!cable223a208.usuarios.retecal.ES!not-for-mail
References: <b8l8si$av6bt$1@ID-187527.news.dfncis.de> <b8m799$bb12p$1@ID-130393.news.dfncis.de> <b8mbe3$aed$1@localhost.escomposlinux.org>

Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII
X-Google-Thread: f86c8,d1a4290ca0230000
X-Google-Attributes: gidf86c8,public
X-Google-ArrivalTime: 2003-04-29 13:39:45 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!headwall.stanford.edu!fu-berlin.de!uni-berlin.de!cable223a208.usuarios.retecal.ES!not-for-mail
From: zd <zeldere_nntp@yahoo.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: Script en Bash con Geomtery (ImageMagick)
Date: 29 Apr 2003 20:39:44 GMT
Lines: 55
Message-ID: <b8mnuf$bord0$1@ID-130393.news.dfncis.de>
References: <b8l8si$av6bt$1@ID-187527.news.dfncis.de> <b8m799$bb12p$1@ID-130393.news.dfncis.de> <b8mbe3$aed$1@localhost.escomposlinux.org>
Reply-To: zeldere_nntp@yahoo.es
NNTP-Posting-Host: cable223a208.usuarios.retecal.es (212.183.223.208)
Mime-Version: 1.0
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: fu-berlin.de 1051648784 12348832 212.183.223.208 (16 [130393])
User-Agent: slrn/0.9.7.3 (Linux)