Bash: Substituição de variável dentro de outra
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... --- Gleydson Mazioli da Silva [EMAIL PROTECTED] [EMAIL PROTECTED] Eu cnsigo diigtar 400 caractreres pro minuo1.
Re: [OT] Bash: Substituição de variável dentro de outra
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 .
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 [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 . -- --- Gleydson Mazioli da Silva [EMAIL PROTECTED] [EMAIL PROTECTED] * Quem jamais amou, vê com maus olhos as coisas do amor