shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Tratamento de parâmentros - scripts com opção -e ou -n


From: Marcio Gil
Subject: Re: Tratamento de parâmentros - scripts com opção -e ou -n
Date: Sat, 28 Aug 2010 21:21:13 -0000
User-agent: eGroups-EW/0.82

Ué! Será que este meu e-mail não chegou? :-)

De qualquer forma vou tentar simplificar a pergunta:

Tenho uma variável neste formato:

opt="-e[qualquer_coisa]"

Quero remover o "e" de "$opt", então eu faço assim:

$ opt="-equalquer_coisa"
$ echo "$opt" | sed "s/e//"
-qualquer_coisa

Mas se "qualquer_coisa" for vazio não funciona:

$ opt="-e"
$ echo "$opt" | sed "s/e//"


Não retorna nada, mas deveria retornar "-".
Aguém sabe a solução?

Obrigado,

Marcio.

--- Em 25/08/2010 11:06, "Marcio Gil" <marciomgil@...> 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.
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]