Article View: es.comp.os.linux.programacion
Article #1426Re: BASH
From: Gonzalo Pérez de Olaguer Córdoba
Date: Thu, 15 Dec 2005 14:06
Date: Thu, 15 Dec 2005 14:06
53 lines
3013 bytes
3013 bytes
Hola "Olaf \"El BLanco\"" <winter@yahoo.co.uk> el Thu, 15 Dec 2005 11:49:42 +0100 escribiste: > > Mi idea es que en todos los comandos que haga primero verificar si los > parametros, en el caso de que sean archivos existen, tambien deberia > verificar si se ha ingresado el nro correcto de parametros. Idea totalitaria difĂcil de sacarse de encima, Ă©sta de querer controlarlo todo. AsĂ en general yo te dirĂa: - primero asegĂșrate de que el programa funciona correctamente cuando se le pasan los parĂĄmetros correctos. O sea, que lo que el programa ha de hacer, lo haga bien. - comprueba sĂłlo aquellas situaciones que, en caso de producirse, provocarĂan un error *muy grave* de funcionamiento (agujeros de seguridad, cuelgues, corrupciĂłn de datos). AquĂ no se trata de defender al usuario de sĂ mismo, sino de defender al programa del usuario. - para el resto de casos (defender al usuario de sĂ mismo) cuanto mĂĄs abierto lo dejes mejor. La calidad de un programa se mide por el nĂșmero de lĂneas que no contiene :-) > #!/bin/bash > if [ ls $1 2>/dev/null ] ; then > echo -e "El archivo o directorio NO existe \n" > fi Ese error YA lo producen las funciones de la librerĂa C cuando hace falta. AdemĂĄs, lo hacen en el idioma que el usuario haya seleccionado. AdemĂĄs, lo emiten por stderr, que es donde esperarĂa encontrarlo cualquier usuario. Prueba esto y decide tĂș mismo: ls $1 || exit O mejor aĂșn, mete un "set -e" al principio del script (bash). MĂĄs info en "help set". > Estoy con la basico. No quiero adentrarme (todavia) en profundidad, pero me > gustaria saber si algo existe o no. MĂrate las CONDITIONAL EXPRESSIONS del manual de bash: man bash<return>/^CON<return> -- Gonzalo PĂ©rez de Olaguer CĂłrdoba <gpoc@iies.es> PGP key 2861C704 --- F206 5671 6789 425D 111C 1302 214F 1934 2861 C704
Technical Details
Message-ID:
<20051215150616.17d2b107@petres.salonet.snet>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.antakira.com!cagarruta.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mailReferences:
<dnrho8$8cg$1@cormoran.emeteo.local>Show Full Headers
Complete Article Headers
X-Google-Thread: f86c8,3c149b3755c02eb8 X-Google-Attributes: gidf86c8,public X-Google-Language: SPANISH,ASCII Path: arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news.glorb.com!news.antakira.com!cagarruta.escomposlinux.org!hercules.escomposlinux.org!escomposlinux.org!not-for-mail From: Gonzalo Pérez de Olaguer Córdoba <gpoc@iies.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: BASH Date: Thu, 15 Dec 2005 15:06:16 +0100 Organization: escomposlinux.org Lines: 53 Message-ID: <20051215150616.17d2b107@petres.salonet.snet> References: <dnrho8$8cg$1@cormoran.emeteo.local> NNTP-Posting-Host: 59.red-80-25-103.staticip.rima-tde.net Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: quoted-printable X-Trace: hercules.cohp1 1134655578 15125 80.25.103.59 (15 Dec 2005 14:06:18 GMT) X-Complaints-To: newsmaster@cofrentes.no-ip.com NNTP-Posting-Date: Thu, 15 Dec 2005 14:06:18 +0000 (UTC) X-Newsreader: Sylpheed-Claws 1.0.4 (GTK+ 1.2.10; i386-pc-linux-gnu)