shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Parametros em script


From: Frederico Argolo
Subject: Re: [shell-script] Parametros em script
Date: Fri, 30 May 2003 16:38:39 -0300 (ART)

Fala Thobias,

   Valeu novamente pela atencao, mas o seu script
funcionou, mas qndo vou aplicar a ideia no meu nao
funciona. Nao entendi direito o OPTIND.

Da uma olhada so no meu script(cortei o maximo
possivel para ficar mais claro).

$ cat script
#!/bin/bash
while getopts t:f: opt; do
        case $opt in
        t)
echo "entrou no t";
shift $(($OPTIND - 1))
echo "Cifrao 1: $1";
egrep to\=.*\<.*"$OPTARG".* mail.log | cut -f4 -d":" >
ID
for i in `cat ID`
do
        fgrep $i mail.log >> ToSaida;
        echo >> ToSaida;
done;;

        f)
echo "entrou no f";
shift $(($OPTIND - 1))
echo "Cifrao 1: $1";
fgrep from\=\<"$OPTARG" mail.log | cut -f4 -d":" > ID
for i in `cat ID`
do
        grep $i mail.log >> FromSaida;
        echo >> FromSaida;
done;;
        esac
done
####################################################

Como pode ver, os parametros 'f' e 't' sao
praticamente iguais, so diferem no grep.

So q qndo vou rodar o script assim, olha o q acontece:
$ ./script -t teste arq
entrou no t
Cifrao 1: arq

$ ./script -t teste -f teste arq
entrou no t
Cifrao 1: -f

$ ./script -f teste -t teste arq
entrou no f
Cifrao 1: -t

Repare que tem algo bem errado. Acho q nao entendi
direito mesmo o OPTIND.

Qq ajuda é bem vinda! :)

[]'s
Fred

 --- Thobias Salazar Trevisan
<address@hidden> escreveu: > 
> Olá de novo,
> $ cat y
> #/bin/bash
> 
> while getopts 'ab:' op; do
>   echo opcao=$op arg=$OPTARG optind=$OPTIND
> done
> 
> shift $(($OPTIND - 1))
> echo "sobraram ${#} parametros, listando-(os)? ${@}"
> echo "ultimo parametro = $1"
> 
>
##########################################################
> 
> $ ./y -a -b teste
> opcao=a arg= optind=2
> opcao=b arg=teste optind=4
> sobraram 0 parametros, listando-(os)?
> primeiros parametro apos getopts =
> 
> $ ./y -a -b teste arquivo1
> opcao=a arg= optind=2
> opcao=b arg=teste optind=4
> sobraram 1 parametros, listando-(os)? arquivo1
> primeiros parametro apos getopts = arquivo1
> 
> $ ./y -a -b teste arquivo1 arquivo2
> opcao=a arg= optind=2
> opcao=b arg=teste optind=4
> sobraram 2 parametros, listando-(os)? arquivo1
> arquivo2
> primeiros parametro apos getopts = arquivo1
> 
> $ ./y arquivo1 arquivo2
> sobraram 2 parametros, listando-(os)? arquivo1
> arquivo2
> primeiros parametro apos getopts = arquivo1
> 
> Espero que tenha melhorado &:)
> 
> thobias

_______________________________________________________________________
Yahoo! Mail
Mais espaço, mais segurança e gratuito: caixa postal de 6MB, antivírus, 
proteção contra spam.
http://br.mail.yahoo.com/


reply via email to

[Prev in Thread] Current Thread [Next in Thread]