Article View: es.comp.os.linux.programacion
Article #7881Re: bash y passwd
From: Samuel
Date: Sat, 18 Jan 2003 13:59
Date: Sat, 18 Jan 2003 13:59
55 lines
3168 bytes
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-mailReferences:
<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)