shell-script-pt
[Top][All Lists]
Advanced

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

Re: [shell-script] alterar variavel


From: Thobias Salazar Trevisan
Subject: Re: [shell-script] alterar variavel
Date: Thu, 20 Mar 2003 10:57:03 -0300 (EST)

oi ricardo,

On Thu, 20 Mar 2003, ricardo_marcolino wrote:

>     Tenho um probleminha e preciso da ajuda dos amigos
> da lista.
>      Tenho um usúario chamado "oracle" e
> no .bash_profile dele está setado uma variável chamada
> ORACLE_SID=dbespla,só que tenho outra sid de banco na
> máquina e preciso alterar através de script o valor
> desta variável.
>      Fiz um script desta forma:
> #!/bin/bash
>
> export ORACLE_SID=esplasig
>
>   Quando executo o script ele não mostra nenhum erro mas
> não altera o valor da variável de dbespla para esplasig.

ele altera sim, soh que ele altera para o shell que esta rodando
e se for o caso os futuros shell criados a partir deste.

Como voce criou um script, o shell chamara um sub-shell para
executar o seu script. Este sub-shell executa o seu export, mas
logo apos ele termina, assim este export nao afeta o shell pai.

Vamos a um exemplo. Vc colocou estas suas linhas no arquivo
muda.sh

$ cat muda.sh
#!/bin/bash
 export ORACLE_SID=esplasig

$ echo $ORACLE_SID
dbespla

Aparece o valor default que esta em .bash_profile

$./muda.sh
$ echo $ORACLE_SID
dbespla

Ele mudou, mas somente no sub-shell criado para executar o seu
script. Como o script terminou, ele voltou para o shell pai e o
seu export nao vai afeta-lo

Agora faca o seguinte:

$ export ORACLE_SID=esplasig
$ echo $ORACLE_SID
esplasig

Mudou no shell atual e nos possiveis sub-shells criados a partir
deste.

$ /bin/bash # criamos um sub-shell
$ echo $ORACLE_SID
esplasig

Como viu o export mudou a variavel no sub-shell criado a partir
dele. Sacou ?!

Thobias.
-------
echo 24883721290304465999833114447114149701898P | dc
-------
Thobias Salazar Trevisan
http://www.lcp.coppe.ufrj.br/~thobias

____________________________
|
| Against - HTML Mail
| Against - MS ATTACHMENTS
|
----------------------------



reply via email to

[Prev in Thread] Current Thread [Next in Thread]