Article View: es.comp.os.linux.programacion
Article #15322Re: Pregunta de Examen.
From: Jayr Al-Dyn
Date: Fri, 07 Jul 2000 00:00
Date: Fri, 07 Jul 2000 00:00
94 lines
3672 bytes
3672 bytes
This is a multi-part message in MIME format.
--------------76FB492FB6E228D60C126953
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit
Ah� va un intento un poco cutrillo pero que me parece un
buen comienzo.
El script supone que se le pasan los par�metros en el orden
DNI, PASSWORD y que
tienes un directorio HTML donde est�n los HTML's a devolver.
El de resultado
(resultado.html) contiene dos "variables" @DNI@ y @NOTA@ que
indicar�an el lugar del HTML donde quieres dejar el
resultado.
Rafa wrote:
>
> Estimados todos.
>
> Hoy he hecho un examen de oposicion y entre las preguntas que me han
> puesto de redes, me pedian en una de ellas el realizar un script CGI en
> en shell bash, por ejemplo, tal que dado un fichero con 4 campos
> separados por " : ", y esos campos son DNI, pasword,asignatura y nota,
> de tama�o variable. Dicho CGI recib�a el DNI y la pasword y tenia que
> sacar en un fichero html la asignatura y la nota de ese alumno. El caso
> es que no tenia ni idea de como hacerlo. Alguien me puede dar la
> soluci�n o una idea de como ser�a.. Creo que no es demasiado dificil,
> pero la programacion del shell se me resiste un poco y lo del CGI no
> tengo ni idea de como puede hacerse.
>
> Much�simas gracias.
>
> Escribirme a raveiga en hotmail.com
--------------------------------------
Jayr Al-Dyn
mailto: jayraldyn0@altavista0.net0 (sin los 0)
http://personal5.iddeo.es/magaral
--------------76FB492FB6E228D60C126953
Content-Type: text/plain; charset=iso-8859-1;
name="nota"
Content-Transfer-Encoding: 8bit
Content-Disposition: inline;
filename="nota"
#!/bin/bash
# Este CGI cutrillo recibe como par�metros el DNI y el password
# Lo s�, puede mejorar mucho.
# Parametros
FICHERODATOS=./datos
HTML=./html
# Funci�n que toma los par�metros e inicializa variables
function Inicializar
{
export DNI=$1
export PASSWORD=$2
# Compruebo que est�n los par�metros
if [ "$DNI" = "" ] || [ "$PASSWORD" = "" ]
then
# Si falta el DNI, se presenta la plantilla que indica que faltan datos
# y se termina el proceso
cat $HTML/faltandatos.html
exit
fi
}
# Funci�n que toma dos par�metros: DNI, PASSWORD y devuelve via echo
# el resultado. Si no se encuentra, la salida estar� vac�a
function BuscarNota
{
DNI=$1
PASSWORD=$2
grep "$DNI:$PASSWORD:" $FICHERODATOS | awk 'BEGIN {FS=":"} {print($4);}'
}
# ----------------------------------------------------------------------------------------
# En primer lugar, tomo los par�metros
Inicializar $1 $2
NOTA=`BuscarNota $DNI $PASSWORD`
if [ "$NOTA" = "" ]
then
# No se ha encontrado la nota, se presenta una p�gina que lo indica
cat $HTML/noencontrado.html
exit
fi
# Tenemos la nota, se presenta sustituyendo antes DNI y NOTA
cat $HTML/resultado.html | sed "s/@NOTA@/$NOTA/g" | sed "s/@DNI@/$DNI/g"
--------------76FB492FB6E228D60C126953--
Technical Details
Message-ID:
<3965FFAB.56C086D3@en.ninguna.parte>Path:
arc1-ca.pugleaf.net!unknown!not-for-mailReferences:
<39651688.BD01A6FC@hotmail.com>Show Full Headers
Complete Article Headers
X-Google-Language: SPANISH,ASCII X-Google-Thread: f86c8,e52acdc92b752a6f X-Google-Attributes: gidf86c8,public From: Jayr Al-Dyn <nada@en.ninguna.parte> Subject: Re: Pregunta de Examen. Date: 2000/07/07 Message-ID: <3965FFAB.56C086D3@en.ninguna.parte> X-Deja-AN: 643514806 References: <39651688.BD01A6FC@hotmail.com> X-Accept-Language: es, en Content-Type: multipart/mixed; boundary="------------76FB492FB6E228D60C126953" X-Complaints-To: news@malou.localdomain X-Trace: malou.localdomain 962985899 1430 127.0.0.1 (7 Jul 2000 16:04:59 GMT) Organization: MALOU Mime-Version: 1.0 NNTP-Posting-Date: 7 Jul 2000 16:04:59 GMT Newsgroups: es.comp.os.linux.programacion