🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Pregunta de Examen.

#15322
From: Jayr Al-Dyn
Date: Fri, 07 Jul 2000 00:00
94 lines
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-mail
References: <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