🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: BASH

#1425
From: Oscar Garcia
Date: Thu, 15 Dec 2005 12:14
82 lines
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-mail
References: <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