[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Getopts
From: |
Fabiano Caixeta Duarte |
Subject: |
Re: [shell-script] Getopts |
Date: |
Sun, 21 May 2006 10:20:00 -0300 |
User-agent: |
Thunderbird 1.5 (X11/20051201) |
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Ricardo,
Aquela url se trata de uma dica que enviei ao Dicas-l, cujo conteúdo
termina com um script de exemplo em que eu faço algo semelhante ao que
você precisa.
Então sejamos mais explícitos. A solução está composta em duas partes.
1) Você preenche uma variável para cada opção passada pelo usuário
2) Você faz testes lógicos de conteúdo destas variáveis de forma a ter
certeza que o conjunto de variáveis certas foi passado para o script.
Extrato exemplo da técnica
VERBOSE=0
QUIET=0
while getopts hvqs:c: OPT; do
case $OPT in
"v") VERBOSE=1;;
"q") QUIET=1;;
...
esac
done
[ $VERBOSE -eq 1 -a $QUIET -eq 1 ] && usage
Onde usage é a função que exibe ajuda e encerra a execução do script.
Abraços!
Fabiano Caixeta Duarte
Consultor em soluções para Redes de Computadores
Linux User #195299
Ribeirão Preto - SP
Ricardo A. Reis escreveu:
>> -v -s .... ou -vs ..... ou -s ... -v
>>> -q -s .... ou -qs ..... ou -s ... -q
>>> -v -c .... ou -vc ..... ou -c ... -v
>>> -q -c .... ou -qc ..... ou -c ... -q
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.7 (GNU/Linux)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org
iD8DBQFEcGkA++b4Zs4fOnMRAjnfAJwJ1lzTN1gQ9sCa31Bek3JPsDWpvwCghfw7
s4D0I8iYPCD21u/pZy/gU74=
=WWTo
-----END PGP SIGNATURE-----
- Getopts, Ricardo A. Reis, 2006/05/18