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 <marciom...@bol.com.br> 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] ------------------------------------ --------------------------------------------------------------------- Esta lista não admite a abordagem de outras liguagens de programação, como perl, C etc. Quem insistir em não seguir esta regra será moderado sem prévio aviso. --------------------------------------------------------------------- Sair da lista: shell-script-unsubscr...@yahoogrupos.com.br --------------------------------------------------------------------- Esta lista é moderada de acordo com o previsto em http://www.listas-discussao.cjb.net --------------------------------------------------------------------- Servidor Newsgroup da lista: news.gmane.org Grupo: gmane.org.user-groups.programming.shell.brazil Links do Yahoo! Grupos <*> Para visitar o site do seu grupo na web, acesse: http://br.groups.yahoo.com/group/shell-script/ <*> Para sair deste grupo, envie um e-mail para: shell-script-unsubscr...@yahoogrupos.com.br <*> O uso que você faz do Yahoo! Grupos está sujeito aos: http://br.yahoo.com/info/utos.html