[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Tratamento de parâmentros - scripts com opção -e ou -
From: |
Elder Marco |
Subject: |
Re: [shell-script] Tratamento de parâmentros - scripts com opção -e ou -n |
Date: |
Tue, 7 Sep 2010 11:01:25 -0300 |
Acho que o comando getopt (veja que não é getopts) pode te ajudar com opções
longas, incluindo aí opções com começem com apenas um '-'. Dê uma pesquisada
nele e também veja:
$ man getopt
Em 25 de agosto de 2010 11:06, Marcio Gil <address@hidden> escreveu:
>
>
> Tenho o seguinte script que escrevi para remover arquivos temporários:
>
> http://bash.pastebin.com/ZfawZQmD
>
> Acontece que a opção -e não funciona quando usada nesta forma ou em
> conjunto com a opção -t (ou seja -te ou -et)
>
> O culpado está na linha 72:
>
> case "$opt" in
> -*e*) exe="1"; opt=`echo "$opt" | sed "s/e//"`
> esac
>
> Pois quando "$opt" é "-e" o comando echo interpreta como sendo opção dele
> mesmo. Infelizmente o echo não implementa a opção "--", comum nos comando do
> Unix e que resolveria o problema.
>
> Pergunto se existe uma forma elegante e o mais portável possível de
> resolver esta questão. Imaginei acrescentar um "-" extra antes de "$opt",
> mas se o usuário, por exemplo, informar -x o script vai dizer que --x é
> inválido...
>
> Marcio Gil.
>
>
>
--
Elder Marco
GNU/Linux User: #471180
"Contra o positivismo, que pára perante os fenômenos e diz: 'Há apenas
fatos', eu digo: 'Ao contrário, fatos é o que não há; há apenas
interpretações'. "(Nietzsche)
[As partes desta mensagem que não continham texto foram removidas]
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [shell-script] Tratamento de parâmentros - scripts com opção -e ou -n,
Elder Marco <=