Processando opções da linha de comando em shell script
Por Marcelo Beckmann
Data de Publicação: 24 de Setembro de 2007
Uma boa forma de implementar tratamento de opções fornecidas na linha de
comando em shell script é usando getopts:
while getopts 'vadhm:z:' opcao
do
case ${opcao} in
v) VERBOSE="-v"
;;
a) WHATBAK="all"
;;
d) WHATBAK="dados"
;;
m) WHATBAK="mysql"
DBTARGET=${OPTARG}
;;
z) WHATBAK="zona"
ZNTARGET=${OPTARG}
;;
h) usage
;;
?) echo "errou"
usage
;;
esac
done
Na linha:
while getopts 'vadhm:z:' opcao
temos as opções que serão aceitas. Opções seguidas de : requerem argumento
adicional (obtido via ${OPTARG}). E o ? trata os argumentos inválidos.
Veja a relação completa dos artigos da coluna Cantinho do Shell
Para se manter atualizado sobre as novidades desta coluna, consulte sempre o newsfeed RSS
Para saber mais sobre RSS, leia o artigo O Padrão RSS - A luz no fim do túnel.
Opinião dos Leitores
01 Fev 2011, 11:14
Mas, testando aqui vi que tem que "grudar" o argumento adicional na opção.
Assim:
$ script.sh -mMeuTarget
E não assim:
$ script.sh -m=MeuTarget
Estou na busca por
$ script.sh --m=MeuTarget
Abraço!



