🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: bash y passwd

#7881
From: Samuel
Date: Sat, 18 Jan 2003 13:59
55 lines
3168 bytes
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

On 18 Jan 2003 13:25:49 GMT
zd <zeldere_nntp@yahoo.es> wrote:

> Respuesta al mensaje de: Pacolinx <pacolinux@BORRAMEinicia.es>.
> Con identificador: <2conf-lb2.ln1@paldaria.dsland.org>.
> 
> > 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
> > ----------------
> 
>     ... grep '^alumno' /etc/passwd ...
> 
>     " ^ " --> principio de linea, " $ " --> final de linea.
> 
>     " ^$ " --> linea vacia.
> 
>     Las llaves sobran; en una expresi�n regular indican en n�mero de
> veces que se repetir� el patr�n anterior, y �ste no es el caso.
>

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.

Yo creo que el problema est� en que el subconsciente de programador C
que todos llevamos dentro le ha traicionado. Prueba con algo as� como:
[ `grep "^${alumno}:" /etc/passwd | wc -l` -eq 1 ]

El "if" est� esperando un 0 para verdadero, y cualquier otra cosa para
falso. Si el alumno est� en el fichero devuelve la l�nea => falso, si no
lo esta devuelve la cadena "" => falso. �No cre�is?

Samuel
- --
Clave PGP:  pgp.rediris.es ---------------------------- KeyID 0x822583C2
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.1 (FreeBSD)

iD8DBQE+KV2tUYur3IIlg8IRAlq8AJ9IRZYzltWhiq2/SV/V9HGGsxMjHQCghbZu
BvfOXcrOc9Ae7LyPivfGpXI=
=+uP7
-----END PGP SIGNATURE-----
Technical Details
Message-ID: <20030118145909.6d0ac8e3.444398@celes.unizar.es>
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!canoe.uoregon.edu!elk.ncren.net!news.umass.edu!news-out.cwix.com!newsfeed.cwix.com!nsnmpen1-lo.nuria.telefonica-data.net!nsnmpen2-lo.nuria.telefonica-data.net!not-for-mail
References: <2conf-lb2.ln1@paldaria.dsland.org> <b0bkkt$m62$1@titan.bt.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 05:58:52 PST
Path: arc1-ca.pugleaf.net!archiver1.google.com!news1.google.com!newsfeed.stanford.edu!canoe.uoregon.edu!elk.ncren.net!news.umass.edu!news-out.cwix.com!newsfeed.cwix.com!nsnmpen1-lo.nuria.telefonica-data.net!nsnmpen2-lo.nuria.telefonica-data.net!not-for-mail
From: Samuel <444398@celes.unizar.es>
Newsgroups: es.comp.os.linux.programacion
Subject: Re: bash y passwd
Date: Sat, 18 Jan 2003 14:59:09 +0100
Organization: Telefonica Data Espagna
Lines: 55
Message-ID: <20030118145909.6d0ac8e3.444398@celes.unizar.es>
References: <2conf-lb2.ln1@paldaria.dsland.org>
 <b0bkkt$m62$1@titan.bt.es>
NNTP-Posting-Host: 80-25-246-165.uc.nombres.ttd.es
Mime-Version: 1.0
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: nsnmpen2-gest.nuria.telefonica-data.net 1042898330 139 80.25.246.165 (18 Jan 2003 13:58:50 GMT)
X-Complaints-To: usenet@nsnmpen2-gest.nuria.telefonica-data.net
NNTP-Posting-Date: Sat, 18 Jan 2003 13:58:50 +0000 (UTC)
X-Newsreader: Sylpheed version 0.8.8claws (GTK+ 1.2.10; i386-portbld-freebsd4.7)