Article View: es.comp.os.linux.programacion
Article #1425Re: BASH
From: Oscar Garcia
Date: Thu, 15 Dec 2005 12:14
Date: Thu, 15 Dec 2005 12:14
82 lines
3248 bytes
3248 bytes
El Thu, 15 Dec 2005 11:49:42 +0100, "Olaf \"El BLanco\"" <winter@yahoo.co.uk> escribi�: >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. Si miras en el manual de bash ver�s: # Expands to the number of positional parameters in decimal. Es decir, con $# tienes el n�mero de par�metros que se han pasado a tu script. >andres@linux:~/scripts> cat allper >#!/bin/bash >if [ ls $1 2>/dev/null ] ; then > echo -e "El archivo o directorio NO existe \n" >fi Puf... �No ser�a mejor usar...? -d file True if file exists and is a directory. -f file True if file exists and is a regular file. -e file True if file exists. Es decir, te bastar�a con un simple: if [ -e $1 ]... >Mi razonamiento: >Si la salida de error produjo algo (obviamente un mensaje de error), >aunque no lo vea en la salida est�ndar la condici�n del if tiene que ser >verdadera (cero) [[[porque es verdadera si y solo si se "produce algo" >verdad?]] y si es verdadera que me diga que no existe. Mi razonamiento, a�n no te has leido el manual de bash, �verdad?. >Otro ejemplo: >#!/bin/bash >ls $1 2>/dev/null 1>&2 > >Hago un ls para ver si el archivo existe. >Me fijo en que quedo la variable $? > >if [ $? ] ; then > echo existe >else > echo no existe Hombre, quiz� querr�as decir: if [ "$?" != "0" ] ... O bien if [ $? -ne 0 ] ... Del manual: arg1 OP arg2 OP is one of -eq, -ne, -lt, -le, -gt, or -ge. These arithmetic binary operators return true if arg1 is equal to, not equal to, less than, less than or equal to, greater than, or greater than or equal to arg2, respectively. Arg1 and arg2 may be positive or negative integers. Y... string1 != string2 True if the strings are not equal. >Estoy con la basico. No quiero adentrarme (todavia) en profundidad, pero me >gustaria saber si algo existe o no. Nada, seguro que si miraras el manual de las cosas un poco m�s amenudo encontrar�as las respuestas a todo lo que buscas :) Un saludo. -- �scar Javier Garc�a Baudet LinaresDigital http://redstar.linaresdigital.com/
Technical Details
Message-ID:
<41n2q1t1ab59enodb2p565nvult0fd3nl6@4ax.com>Path:
arc1-ca.pugleaf.net!g2news1.google.com!news4.google.com!news2.volia.net!news.musoftware.de!news-15.escomposlinux.org!cernicalo.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!news2.volia.net!news.musoftware.de!news-15.escomposlinux.org!cernicalo.escomposlinux.org!escomposlinux.org!not-for-mail From: Oscar Garcia <redstarQUITARSPAM23@terra.es> Newsgroups: es.comp.os.linux.programacion Subject: Re: BASH Date: Thu, 15 Dec 2005 13:14:40 +0100 Organization: Ecolnet Lines: 82 Message-ID: <41n2q1t1ab59enodb2p565nvult0fd3nl6@4ax.com> References: <dnrho8$8cg$1@cormoran.emeteo.local> NNTP-Posting-Host: 62-14-91-168.inversas.jazztel.es Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: cormoran.emeteo.local 1134648876 10506 62.14.91.168 (15 Dec 2005 12:14:36 GMT) X-Complaints-To: emeteo@escomposlinux.org NNTP-Posting-Date: Thu, 15 Dec 2005 12:14:36 +0000 (UTC) X-Newsreader: Forte Free Agent 2.0/32.652