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

Re: [OT] Bash: Substituição de variável dentro de outra



Você nem imagina o quanto me ajudou a resolver este problema, me poupou
mais de 
120 linhas em um shell script e isto vai facilitar bastante as
atualizações do 
programa.

Muito obrigado mesmo, não achava alternativas para solucionar este
problema :-)

[]s

Christoph Simon wrote:
> 
> On Sat, 05 May 2001 09:07:37 -0400
> Gleydson Mazioli da Silva <gleydson@escelsanet.com.br> wrote:
> 
> > Oi,
> >
> > Estou programando um bash script que necessita do seguinte recurso (como
> > exemplo):
> > host:~# export VARIAVEL1="SHELL"
> > host:~# echo ${VARIAVEL1}
> > SHELL
> > host:~# echo "$"${VARIAVEL1}""
> > $SHELL
> > host:~# echo `echo "$"${VARIAVEL1}""`
> > $SHELL
> > ^^^^^
> > O que quero é ao invés de sair "$SHELL" saia /bin/bash como se usasse o
> > comando "echo $SHELL" diretamente. Estive pesquisando na página de
> > manual do bash em procura de alguma referência sobre outras formas
> > de exibição de variáveis mas não tive muito sucesso...
> 
> A expressão
> 
>         echo "$"${VARIAVEL1}""
> 
> vai expandir no sinal $ ("$"), no valor de ${VARIABLE1} (SHELL) e na
> cadeia vazía "". É isso é o que o shell lhe deu. Provavelmente não é a
> solução ótima, mas essencialmente pode fazer para forçar a segunda
> expansão:
> 
>         V=$SHELL
>         W='$V'
>         echo `eval echo $W`
>         /bin/sh
>         V="outra cadeia"
>         echo `eval echo $W`
>         outra cadeia
> 
> HTH
> 
> --
> Christoph Simon
> datageo@terra.com.br
> ---
> ^X^C
> q
> quit
> :q
> ^C
> end
> x
> exit
> ZZ
> ^D
> ?
> help
> shit
> .

-- 
---------------------------
Gleydson Mazioli da Silva
gleydson@escelsanet.com.br
gleydson@linuxbr.com.br

* Quem jamais amou, vê com maus olhos as coisas do amor



Reply to: