[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Tratamento de parâmentros - scripts com opção -e ou -n
From: |
Marcio Gil |
Subject: |
Tratamento de parâmentros - scripts com opção -e ou -n |
Date: |
Wed, 25 Aug 2010 14:06:31 -0000 |
User-agent: |
eGroups-EW/0.82 |
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.
- Tratamento de parâmentros - scripts com opção -e ou -n,
Marcio Gil <=