[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] testar se parametro $1 foi passado
From: |
Tiago Barcellos Peczenyj |
Subject: |
Re: [shell-script] testar se parametro $1 foi passado |
Date: |
Mon, 17 Mar 2008 18:32:19 -0300 |
Vc poderia testar se o valor da variavel $# é igual a 0.
$# é a quantidade de parâmetros passados para o script ou função
ex:
$ cat ./test.sh
echo $#
$ ./test.sh 1 2 3
3
$ ./test.sh
0
2008/3/17 Adelson O. Junior <address@hidden>:
>
>
>
>
>
>
> Pessoal,
> Obrigado pela contribuição da mensagem anterior.
>
> Minha dúvida agora é essa: como testo se um parametro ($1) foi realmente
> passado para um script na linha de comando?
> Tenho o script montado, rodando. Ele funciona corretamente com os
> parametros
> -s -f -t, agora se nao passo parametro ele fica em loop. Queria testar se
> foi passado algum parametro, se não foi imprimir um erro..
>
> Um trecho:
>
> while getopts " ht:f:s:V" OPT; do
> case $OPT in
> "h") echo -e "usage:
> -t <to> Input the caller username/DID\n
> -f <from> Input the callee username/DID\n
> -s <server.log> Input the serverlog file\n
> example:
> ./catchcalls -t ajunior -f rzedan -s server.log.2008-03-17-03
> PS: server.log.* must to be ungziped before. \n" && exit 1;;
> "t") TO=$OPTARG;;
> "f") FROM=$OPTARG;;
> "s") ARQ=$OPTARG;;
> "V") echo -e "getcall.sh script is a part of Support Toolkit version
> 0.1 Beta\n" && exit 1;;
> *) echo -e "Invalid option \n usage: ./catchcall -s <server.log> -t
> <to> -f <from>\n" && exit 1;;
> esac
> done
>
> Obrigado.
>
> [As partes desta mensagem que não continham texto foram removidas]
>
>
--
Tiago B Peczenyj
Linux User #405772
http://peczenyj.blogspot.com/
"what does not kill us makes us stronger"