Article View: es.comp.os.linux.programacion
Article #7884Re: bash y passwd
From: zd
Date: Sat, 18 Jan 2003 14:58
Date: Sat, 18 Jan 2003 14:58
58 lines
3030 bytes
3030 bytes
Respuesta al mensaje de: Samuel <444398@celes.unizar.es>.
Con identificador: <20030118145909.6d0ac8e3.444398@celes.unizar.es>.
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 18 Jan 2003 13:25:49 GMT
> zd <zeldere_nntp@yahoo.es> wrote:
>
>> > Quiero comprobar q el usuario no existe en /etc/passwd, como lo hago
>> > Siempre me dice q no existe. Pq?
>> > ---------------
>> > alumno=juanito
>> > if grep "^${alumno}:" /etc/passwd
>> > then
>> > echo "El usuari " $alumno " ya existe"
>> > else
>> > echo "El usuari " $alumno " no existe"
>> > fi
>> > ----------------
>
> Yo dir�a que no es eso, ya que creo que el shell hace antes la expansi�n
> de las variables que la llamada al grep (buenos estar�amos si dentro de
> cada comando hubiera que expandir la l�nea de comandos). El grep no ve
> ^${alumno} , sino ya ^juanito . F�jate que el ha puesto comillas dobles
> y tu las has puesto simples.
Tjo, tjo, tjo... es que llevo mucho tiempo despierto. Pido discul-
pas por las tonter�as que cont� antes. Se me cruzaron los cables :).
Bueno, ya me he frotado bien los ojos...
Lo que ocurre es que grep produce una salida distinta de cero como
t� ya has indicado. La raz�n de �sto es que no se ha usado la sustitu-
ci�n de �rdenes como se deber�a haber hecho. Es decir:
if `grep <patr�n> <archivo>`; then
echo "algo"
else
echo "otra cosa"
fi
La otra posibilidad, para bash modernos y ksh ser�a:
... if $(grep <patr�n> <archivo>); then ...
Y como nota adicional, referente a lo que puse en el mensaje ante-
rior, s�lo decir que lo dicho se cumplir�a de haber usado:
... grep -e '^${alumno}' ...
Salud para todos.
--
Zeles Deree (zeldere) / [.zd]
* Correo: zeldere_nntp@yahoo.es
* GNU/Linux - LFS 3.1
Technical Details
Message-ID:
<b0bq1p$onm$1@titan.bt.es>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!diablo.theplanet.net!btnet-peer!btnet!newsfeed.bt.es!news.bt.es!not-for-mailReferences:
<2conf-lb2.ln1@paldaria.dsland.org> <b0bkkt$m62$1@titan.bt.es> <20030118145909.6d0ac8e3.444398@celes.unizar.es>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,a0ddc9dad727a552 X-Google-Attributes: gidf86c8,public X-Google-ArrivalTime: 2003-01-18 07:17:17 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!diablo.theplanet.net!btnet-peer!btnet!newsfeed.bt.es!news.bt.es!not-for-mail From: zd <zeldere_nntp@yahoo.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: bash y passwd Date: 18 Jan 2003 14:58:01 GMT Organization: BT Tel. Netnews service (readers) Lines: 58 Message-ID: <b0bq1p$onm$1@titan.bt.es> References: <2conf-lb2.ln1@paldaria.dsland.org> <b0bkkt$m62$1@titan.bt.es> <20030118145909.6d0ac8e3.444398@celes.unizar.es> NNTP-Posting-Host: cable223a208.usuarios.retecal.es Mime-Version: 1.0 Content-Type: text/plain; charset=iso-8859-15 Content-Transfer-Encoding: 8bit X-Trace: titan.bt.es 1042901881 25334 212.183.223.208 (18 Jan 2003 14:58:01 GMT) X-Complaints-To: abuse@bt.es NNTP-Posting-Date: 18 Jan 2003 14:58:01 GMT User-Agent: slrn/0.9.7.3 (Linux)