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: