On Sat, 05 May 2001 09:07:37 -0400
Gleydson Mazioli da Silva <[EMAIL PROTECTED]> 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
[EMAIL PROTECTED]
---
^X^C
q
quit
:q
^C
end
x
exit
ZZ
^D
?
help
shit
.

Reply via email to