Article View: es.comp.os.linux.programacion
Article #7417Re: Duda tonta de un script
From: Santiago Romero
Date: Thu, 27 Feb 2003 20:29
Date: Thu, 27 Feb 2003 20:29
36 lines
2753 bytes
2753 bytes
El Thu, 27 Feb 2003 20:45:55 +0100, Juli�n Albo escribi�:
>> >> if [ "X${CONTADOR}Y" != "X${FIN}Y" ];
>> >
>> > �Qu� falta hacen la X y la Y?
>> >
>> > if [ "$CONTADOR" != "$FIN" ]
>> >
>> > sirve perfectamente.
>>
>> No si FIN no est� definida. Entonces el test devuelve 2, cuando el
>> comportamiento que se entender�a m�s natural es que una cadena no
>> definida sea equiparable a una cadena vac�a y por tanto devuelva 0.
>
> No lo pillo. �Puedes poner las condiciones concretas en las que ocurre
> eso?
Imagina que (por cualquier motivo de programaci�n) la variable FIN
no existe al llegar a ese punto del programa. En pantalla te
aparecer�a "Unary operator expected" y la comparaci�n no ser�a
correcta. Esto pasar�a porque no hay NADA con lo que comparar. No
existe la cadena.
En cambio, "x${VARIABLE}y", si no existe VARIABLE, al menos queda
"xy" y no da ese error por pantalla y la comparaci�n al menos se
realiza (y falla, como deber�a de ser).
La soluci�n perfecta es usar el corchete doble como comentan m�s
arriba, pero bueno, siempre he usado esta manera de comparar "por lo
que pueda pasar".
saludos!
--
Santiago Romero AKA NoP/Compiler (Linux User #74.821)
http://www.escomposlinux.org/sromero/ y http://www.speccy.org/
compiler(*)escomposlinux.org
Technical Details
Message-ID:
<slrnb5st9j.81n.sromero@pinsa.escomposlinux.org>Path:
arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.berkeley.edu!news-hog.berkeley.edu!ucberkeley!nntp-relay.ihug.net!ihug.co.nz!news.linkpendium.com!news-xfer.cox.net!mainake.escomposlinux.org!pinsa.escomposlinux.org!not-for-mailReferences:
<giuk3b.l35.ln@cyfuss> <slrnb5rvlj.ljg.arbeizaf@jupiter.olimpo> <5v1l3b.dta.ln@cyfuss> <slrnb5s2pd.s0v.sromero@pinsa.escomposlinux.org> <slrnb5s2u8.s0v.sromero@pinsa.escomposlinux.org> <3E5E5683.F9669F95@terra.es> <92o2j-fj.ln1@garlito06400.uned.es> <3E5E6AF3.E7E937B4@terra.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,636565e833d291ef X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-02-27 12:29:40 PST Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!newsfeed.berkeley.edu!news-hog.berkeley.edu!ucberkeley!nntp-relay.ihug.net!ihug.co.nz!news.linkpendium.com!news-xfer.cox.net!mainake.escomposlinux.org!pinsa.escomposlinux.org!not-for-mail From: Santiago Romero <sromero@escomposlinux.org> Newsgroups: es.comp.os.linux.programacion Subject: Re: Duda tonta de un script Date: Thu, 27 Feb 2003 20:29:39 +0000 (UTC) Organization: Ecolnet Lines: 36 Message-ID: <slrnb5st9j.81n.sromero@pinsa.escomposlinux.org> References: <giuk3b.l35.ln@cyfuss> <slrnb5rvlj.ljg.arbeizaf@jupiter.olimpo> <5v1l3b.dta.ln@cyfuss> <slrnb5s2pd.s0v.sromero@pinsa.escomposlinux.org> <slrnb5s2u8.s0v.sromero@pinsa.escomposlinux.org> <3E5E5683.F9669F95@terra.es> <92o2j-fj.ln1@garlito06400.uned.es> <3E5E6AF3.E7E937B4@terra.es> Reply-To: compiler@escomposlinux.org NNTP-Posting-Host: pinsa.localhost Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 8bit X-Trace: pinsa.escomposlinux.org 1046377779 8726 192.168.5.254 (27 Feb 2003 20:29:39 GMT) X-Complaints-To: newsmaster@pinsa.escomposlinux.org NNTP-Posting-Date: Thu, 27 Feb 2003 20:29:39 +0000 (UTC) User-Agent: slrn/0.9.7.4 (Linux)