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

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

Re: [shell-script] value too great for base


From: Felipe Kellermann
Subject: Re: [shell-script] value too great for base
Date: Tue, 25 May 2004 11:23:26 -0300 (BRT)

On Tue, 25 May 2004 10:29am  -0300, Reinaldo Carvalho wrote:

> Script feio?
>
>  for j in xHi xMi xHf xMf ; do
>          if [ "$(eval echo \$$j)" -lt '10' ] ; then

As shells relativamente modernas têm formas concisas e inteligentes de
fazer essa reflexão que tu faz com `eval' com `\$'.  Por exemplo, para
fazer isso na bash2, tu poderia optar por trocar a expressão,

`"$(eval echo \$$j)"' por `${!j}'

Exemplo de reflexão:
$ xHi=09
$ j=xHi
$ echo ${!j}
09


>                 eval $(echo $j)=$(eval echo \$$j | cut -c2)
>          fi
>  done

Aqui, a mesma coisa.  Tu não precisa do primeiro `echo', tu pode fazer uma
reflexão no segundo `eval + echo + \$' e tu pode optar por não usar aquela
chamada ao `cut' e fazer uma substituição no próprio shell.


> Comentários?
>

Estão aí

-- 
Felipe Kellermann


reply via email to

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