🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: bash y passwd

#7884
From: zd
Date: Sat, 18 Jan 2003 14:58
58 lines
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-mail
References: <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)