Re: [OT] Bash: Substituição de variável dentro de outra
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
.
Reply to: